Answer the question
In order to leave comments, you need to log in
What framework to learn and according to what manuals?
Gentlemen, help me choose a framework.
Answer the question
In order to leave comments, you need to log in
CakePHP is ugly inside and out of date. Now everyone uses Yii. Kohana is not a standalone framework, but an improved version of CI. Symphony is a kind of heavy and overengineered monster that includes a clumsily copied from Java ORM.
There is also an opinion that it would be best to switch from PHP and sub-frameworks to something serious, such as Java (Google uses Java and C ++ for its services, for example) or at least python, if Java cannot be mastered.
You lean correctly, and learn three, do the same thing on them, and in the end you will know the difference, and knowing the difference is more valuable than being able to do something.
Everything depends on the needs. If you need to understand some basics, so to speak, “to enter”, then you can tinker with CodeIgniter for a couple of months, but doing commerce on it is not the best solution, but you can practice. Very good docks, though a slightly outdated version in Russian, but I think English is not a problem?
I use Yii myself and enjoy it all day and night. Powerful, flexible, uses the capabilities of the new PHP, etc. Very good Russian community and documentation: yiiframework.ru/
In my opinion, Zend is too heavy for a beginner, it takes years to understand it.
I haven't worked with Symfony and can't say anything. Rumored to be as light as Yii and as powerful as Zend.
Kohana has serious problems with documentation - it’s easy to find a trifle and a base, but you’ll find something more or less complicated.
CakePHP is a dead project. Better than CodeIgniter. By the way, most of them fled to him with Cake.
rails.
russian.railstutorial.org/chapters/beginning
guides.rubyonrails.org/
Definitely refuse - cakephp and codeigniter
Most likely to refuse - zend
The rest is a matter of taste. Yii is not bad, but it is not for everybody. For example, it didn't work for me at all.
Kohana is a very good framework, but it has very poor documentation, plus the refactoring that has been started lately does not inspire hope for sustainable development. I don't want to recommend it to a newbie. Although, I repeat, I really, really like the framework.
Symphony2 is what is now at the forefront of PHP framework development. From this list, I would choose him.
But I want to offer you an alternative option - Laravel, laravel.com
It is wonderfully documented, written from scratch a year ago, taking into account the jambs of old frameworks and useful features from RoR, it has a vigorous, competent, though not very numerous community, there are tutorials on it, and even a book has already been written - daylerees.com/category /laravel-tutorials/ . True, in Runet it is practically unknown.
I have been using Yii since 1.0 was released. This is a very convenient framework on which you can deploy something quickly enough. Unfortunately, with ease of use comes problems. Namely, a zero community, redneck developers, etc. The extensions for the framework themselves are very different from each other, not only in quality, but also in implementation. Let's say it's not clear to me why such a large hierarchy of components, widgets, extensions is needed ... And the upcoming Yii 2 branch doesn't do much good for this framework. So, as it is not sad, he has few prospects. Only for beginners it would be useful to know it.
I don't like Zend from the first versions, and this is purely subjective. This is a fairly high-quality framework (only since version 2.0) that would be useful to poke.
At work, I had to change the already familiar Yii 1. * to Symfony 2. At first, I spat on all these "feng shui". The need for each property in the model to write its own getter / setter (I use it in conjunction with Doctrine2). But I really like the concept of "compiled" php. Annotations (by the way, it’s a pity that the ticket with a request to add them was natively removed), the dependency container, and so on make the development more elegant. As mentioned above, this framework simply makes you write well (although it is very possible to write badly). If we compare the quality of solutions for these three frameworks, perhaps Zend is still in the lead, but the solution for it is easily transferred to Symfony.
At the moment, the most promising framework is Symfony 2 (and you can immediately take 2.1 for study). The rest are also quite interesting and informative, but I will not return to them of my own free will.
Rails Supplement: http://railsforzombies.org/ .
From PHP - IMHO or Yii, or Symphony2.
Yii according to his native translated manual. You can go the other way: look at what ready-made demo projects are in the clip of each frame, choose the one that is closest to your type of activity, deal with the example and immediately solve your problems.
symfony.
At least for the fact that he forces, not always skillful, PHP developers to use the correct architectural solutions and OOP.
And you can also connect bundles and enjoy the result :)
Learn symfony and zend, they have the most beautiful architecture. For work, you can use Yii, the architecture in it is less beautiful, but very convenient. Although, symfony is now number one, but the generation of caches is annoying, we are still not javaists to drink coffee between launches.
Oh, by the way, I taught OOP just by java patterns like java.sun.com/blueprints/corej2eepatterns/Patterns/ , there are no problems with understanding them by php-shniks.
1. Completely agree with the taliban .
2. I do not agree that Zend is difficult for a beginner. Personally, for me, it was the easiest to figure it out.
3. You asked a holistic question, so the answers are rather uninformative than helpful.
4. I can say the following about employers: I worked in 4 places. In 3 of them it didn't matter what framework you know. In 1, they took it only because they knew Zend. Those. see point 1.
5. "Easier" and "better" are different things, you should not interfere with them. "Better" - in my opinion, the concept is relative, because. for different tasks, the "best" will be different.
6. Regarding the documentation and manuals - I can definitely say about Zend - there is more than enough information. I haven’t looked at Yii for a long time, but when I looked, adequate info was only in English - if there are no problems with the language, then boldly into battle. Symfony, as far as I know, also has a lot of documentation.
7. Try as many frameworks and languages as possible - everywhere there are interesting, reasonable, effective solutions that are not found in other analogues.
8. Study related topics (design patterns, etc.) - it will be easier to understand frameworks as well.
it's a shame for CakePHP - it's the most compact, simplest and fastest
closest to RoR - the easiest way to go
is developing!
Zend 1 is no longer worth it, will soon cease to be supported.
Zend 2 is still early, it's still in beta and there is very little documentation.
Symfony2 - good documentation, tutorial and cookbok. Plus a fairly large number of bundles (plugins).
I'm probably old school, but I don't see the point of using Frameworks when programming in PHP. Only if it is necessary for the employer.
In short, using a framework increases the amount of code that can be compiled and executed. As a result, with high loads on your application, you will need large server resources.
Symfony2 is, of course, cutting edge. But while working, the feeling that this framework is completely java-style does not leave. And by and large this is a misuse of PHP as a tool.
Well, that's like a car with a jet engine. It seems like you are going fast and even like it, but everyone is “tormented by vague doubts” :)
I am not the only one who has such an attitude towards sf2.
I promote Kohana with might and main )) IMHO, garbage about the documentation.
Official manual in English
Unofficial wiki (collection of recipes)
Excellent forum (including a Russian thread ) A bunch of
Russian manuals ( kohana3.ru , kohanaframework.su , 101.brotkin.ru ) and blogs
About refactoring - well, it's in the right direction goes )) Moreover, the last branch (3.3, still RC) IMHO looks nice enough to finish this very refactoring on it.
If I were you, I would study Yii and Symfony 2 (plus Silex :) ), and then I would choose for tasks, something like this: Silex for the simplest (such as attaching a feedback form to a static site) or very non-standard tasks (essentially, the framework requires flexible routing), Yii for "consumer goods", Symfony 2 for complex business logic, which is likely to change constantly.
Judging by devtrends.net,
the most popular among employers are Zend, Yii and Symphony.
Studied Yii, Kohana, CI. Basically, if they use projects, then this is Yii, then Kohana, I met very few projects on Ci, maybe they were just unlucky. In terms of functionality, I am more pleased with Yii.
I write most of my stuff in CI. Nimble, powerful, flexible. No matter how much I messed around with others, CI wins in almost every respect.
One of the latest projects is www.globalwave.tv social network. At the stage of improvement.
True, I had to write my own template engine. The main reason for choosing this is of course the performance of this framework.
Here are tests for example: habrahabr.ru/sandbox/48275
Learn Kohana!
Very well thought out and well done, clearly commented. Unlike the same yii.
Actually, you can go into any nuclear class and see how it works or rewrite it.
Another plus is that it is not big and fast, but you can add modules (of which there are a huge number of only official ones, not official ones .... a lot).
In general, if you like "straight" things - you should go to Kohana.
For beginners: kohanaframework.su/starting
But there are inaccuracies there - training for version 3.2.
There are differences in 3.3, in particular, the file names of controller classes (and models, although it is not critical for models) must begin with a capital letter.
Since the framework was given away by the developer company to the community, a sharp jump in improvements and updates is expected! (well, cool-advanced app developers will appreciate it)
If you want to be a normal specialist, learn Symfony / Zend / Laravel right away - there you will understand what SOLID is, and about DI, and in general how to use patterns. Yes, it will be hard, but then you will say thank you.
Yii, at least the 1st, is hell for an adequate developer who writes something more complicated than a blogger. Although, judging by the reviews of Yii 2, although it has become better, it still lacks the thoughtfulness of the above.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question