P
P
Pianist2015-07-11 14:03:47
symfony
Pianist, 2015-07-11 14:03:47

Is it worth learning Symfony?

Having already worked a little with Laravel, there is a feeling that you need to learn Symfony 2, since there are also a lot of projects on Symfony, and they say that Symfony 2 is so flexible that it will not be difficult to make a new "feature" with the support of the project, if initially everything was designed correctly.
I read a lot of opinions that Laravel is much faster than Symfony. I want to develop further in this direction, tell me the right way. If so, what is the best way to study? Recommend books/video courses/resources to learn.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
D
Dave, 2015-07-11
@kzakhariy

So, first things first:
1. You can add a new feature in any system and in any framework (ZF/Laravel/SF/Cake/CI/Phalcon ... ), even if everything was not designed correctly initially. The only thing is that it will take a little more time and nerves.
2. Symphony is the second in demand in the CIS, after Yii - according to hh and brainstorage. The rest is ZF/Laravel. In Europe/USA, on the contrary, ZF2/Laravel, then Symfony, and Yii rarely comes across.
3. Yes Laravel is faster and has less memory. This is why there are so many layers of abstraction in the symphony. But as a rule, memory is cheap and many can afford it. That is, basically no one cares about some 9-10 extra MB of memory.
4. Symphonies are not for the weak. Its API is much more complex than all the others. You already need to know and understand DI containers, the principle of separation of concepts and the like. You don't need to know this to work with Yii/Laravel, so every second Yii/Laravel student is a programmer (figuratively speaking).
5. I have not seen adequate manuals for beginners in Russian, unfortunately. I can only recommend the English ones:
Symfony2 Registration and Login
Creating a blog in Symfony2
After going through these manuals, you will be able to write applications.
6. In any framework, you will basically only need this:
- Router / controllers
- Form validation component
- Database layer
And that's it! The framework only provides tools, nothing more. That is, a framework is not a goal, but a means.

S
Sergey, 2015-07-11
Protko @Fesor

not difficult if initially everything was designed correctly.

And here we come to the fact that it’s not the framework that needs to be taught, it doesn’t do much here (although it’s a little harder to screw up in Symfony, although you can always do it terribly). There are also certain nuances. Let's say if you want to feel real feng shui, all sorts of DDD, etc. you will have to abandon MySQL in favor of PostgreSQL (unless, of course, you work with oracles, in mysql everything is bad with auto-increments, which imposes certain restrictions when working with Doctrine and forces you to write a bunch of extra boilerplate so that everything is beautiful, although this boilerplate can be reused) .
In fact, the only difference between Laravel and Symfony applications is the out-of-the-box ORM (as if everything can be changed for yourself). Everything else is minimal difference. And with a normal ORM (and in the PHP world it is still the only one - Doctrine), you can already do things beautifully and efficiently in terms of labor costs. But even with ActiveRecord you can live and not grieve.
In a word, I do not know what you want to get from Symfony, in fact, switching from one framework to another will give you little.
Just ignore this option. At least Laravel is based on Symfony components and the only bottleneck that is clearly slower is the Doctrine ORM, but the flexibility it gives justifies the greed. And it makes sense in general to drive this about only at heavy loads, otherwise you are more likely to kill performance without placing indexes in the database where necessary.
And there is no right one. Everyone chooses his own path. Do you want to develop? Read books. Read Kent Beck, Eric Evans and other characters ... Expand your horizons, and then what you like. And yes, do not limit yourself to books only for programmers. Read something about development processes (something about scrums, kanbans, lines, continius improvement).

P
Pianist, 2015-07-11
@kzakhariy

Thanks everyone for the replies! I also found cool lessons, but paid https://knpuniversity.com/tracks/symfony

X
xmoonlight, 2015-07-11
@xmoonlight

If you want to develop - understand the architecture of what is already there and try to make it better in terms of speed of work and development speed.

P
PO6OT, 2015-07-15
@woonem

If you don't know where to start, go ahead and write without a framework. People who ask "what is better", "is it worth it", "what do you use", etc., are enraged. It depends on you personally and you yourself must make a decision, and Google will slavishly present a list of options to you (if you need options).
My opinion - stop wasting time looking for ways and studying tons of unnecessary material. Work.
You might think I wrote this instead of directly answering the question just because I don't understand frameworks. Yes, I don't understand. But that doesn't mean anything. I feel good without them and millions do well without them, and I don't understand what everyone sees in them. For me, OOP and frameworks are things invented so that you buy and read tons of books and understand that you don’t need it, but there’s nowhere to go - once you’ve learned it, you’ll have to use it, but knowledge doesn’t disappear.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question