I have learned PHP, and now I want to learn a PHP framework.
Through online access to information, I understand that the following frameworks are often mentioned:
- thinkphp: Homemade PHP framework, but it feels like a lot of people are not high on their evaluation.
- CodeIgniter: Some people say that it is weak in function, and the design idea is old.
- Laravel: It's said to be the most used PHP framework in the world, and it's really hot for me to look at GitHub. But it seems to be very cold at home.
- Other: Yii? Cakephp? Zend Framework? ......
Ask for advice.
——————
August 10: According to everyone's answer, decided to study laravel. Thank you for your answer.
Reply content:
I have learned PHP, and now I want to learn a PHP framework.
Through online access to information, I understand that the following frameworks are often mentioned:
- thinkphp: Homemade PHP framework, but it feels like a lot of people are not high on their evaluation.
- CodeIgniter: Some people say that it is weak in function, and the design idea is old.
- Laravel: It's said to be the most used PHP framework in the world, and it's really hot for me to look at GitHub. But it seems to be very cold at home.
- Other: Yii? Cakephp? Zend Framework? ......
Ask for advice.
——————
August 10: According to everyone's answer, decided to study laravel. Thank you for your answer.
To choose the PHP framework, you have to look at the FIG: http://www.php-fig.org/
FIG is the abbreviation of the Framework Interoperability Group (framework Interoperability Group), which was founded in 2009 by several developers of open source frameworks, and since then, many other members have been selected, although not "official" organizations, but also represent a small chunk of the community.
The aim of the organization is to unify the coding standards of each project with the minimum limit, and to avoid the problems of the development of programmers by the style of self-development. There are four sets of specifications:
- PSR-0 (autoloading standard) automatic loading standards
- PSR-1 (Basic Coding Standard) basic coding standards
- PSR-2 (Coding style guide) Coding Style Wizard
- PSR-3 (Logger Interface) Log interface
I have been using CI and Zend, but as @shamiao greatly recommended, I am becoming a laravel fan.
A few days ago using Esotalk to set up a light forum http://bbs.justjavac.com
Forum New address: http://discuss.flarum.org.cn/
However, the author tweeted that it would develop Flarum instead of esotalk. The reason is that esotalk low-level code is not strong enough, then the new Flarum system, the bottom uses the Laravel framework.
A few weeks ago, there was a big sell-off for Toby Http://discuss.flarum.org.cn/13-esotalk-toby.
Highly recommended: Phalcon, CI
Laravel heavy mess, backward compatibility is not to say, code style also use tab to indent! In today's 4 space (psr,pear,zend) or even 2 space (Langspec) indentation of the world, can be described as riding, the author's own credibility is also a problem, Phil repeatedly advised him to follow the PSR, the author promised, Fig also has, but has not changed ... Not to mention its advocacy of "elegance" and "performance Hyper-ci".
Laravel can be used for example: Ioc,di,eloquent,artisan These phalcon all have, performance is also better (can be faster than the framework of PHP framework, the only thing to contend with is YAF it, but yaf that community, that document, hehe).
CodeIgniter's 3.0 is about to stable, 2.0 in some of the people criticized the place also made a considerable improvement (such as native support composer, highly compatible HHVM, etc.), and the rapid deployment of CI, easy to expand, close to the native grammar (learned to know how human, How concise the characteristics also make it hale, some of the more good third-party library updates frequently, its derived framework bonfire is also vibrant.
The main disadvantages of CI are:
- Missing Ioc/di/orm
- Missing namespaces (in fact, I have not seen how many projects have been carried out in 1 years with Laravel)
- A singleton mode is used (the mode has considered an anti-pattern!)
As for Yii/zendframework/cakephp/slim/swole/symfony/swoole, these frameworks, because I have not been contacted, so I am not eligible to comment, but in terms of impression, these frameworks are really making me not interested in learning.
Take a look at Github's most popular PHP open source project and follow us on the right https://github.com/search?l=php&q=+stars%3a%3e0&ref=searchresults& Type=repositories
Personal recommendation: Phalcon
,Laravel4
http://segmentfault.com/q/1010000000435088
If you want to get started short cycle thinkphp CI
Other Laravel Yii Phalcon
Life is short, I use slim
Reason? Because Slim doesn't have to learn, it's out of the box.
Personal Highly recommended learning Symfony
Advantages:
1. Very complete documentation
2. The community is very active
3. Enterprise-class framework, suitable for every stage of the project from small to large continuous iteration
4. Composer, automation, command line
5. Namespaces, fully object-oriented design
6. A large number of third-party packages to accelerate the development process
7. Design a very good production environment and development environment, the development environment to perfect the exception prompt
8. Skilled after the development speed is very fast, this is not quickly a demo, but is able to quickly out a complete product
Disadvantages:
1. Have a high learning curve, to spend time to learn, the new concept is very much, but after learning is the advantage
2. Performance is relatively poor, but later there are a number of ways to optimize performance
3. You will be tired when you learn, but the document is very full, as long as you are willing to spend kung fu is no problem
The first level is the deep learning of PHP Technology: PHP strings, arrays, files and PHP advanced features and PHP operating principle, the second level is the deep development of web technology: such as deep-Dive HTTP protocol, Linux technology, Web server technology, front-end JS technology, MySQL and NoSQL technology, the third level is the expansion of programming ideas and capabilities: such as data structure and algorithm design, design patterns, good code principles and techniques, large-scale web site development technology.
Follow this outline to learn: http://www.sijiaomao.com/course.htm
Yii
Very simple, to recruit the site, the framework of the input, to see which hot learning which, this is a trend.
PS: My company is using Yii
You can familiarize yourself with some micro-frameworks such as Slim,silex, and then focus on the symfony components.
Https://github.com/lloydzhou/router
You can see, not the frame, just a routing controller, very refined
It is highly recommended to learn laravel, and you will find that in the learning process you will learn more about the outside of the framework
1. How to turn the wall, because the composer of the installation and use of the speed inside the wall is outrageous
2. How to translate, because Laravel's documents are mostly in English, such as laravel5.1 was released in June, until today October 19, the complete Chinese document is still not.
3. How to tear force, you want to opposite the person with TP do not understand, with yaf people's contempt, with Yii people's Temptation of the eyes
4. How to operation, after the project on-line, facing the problem of low performance you need Redis memcache Opcache php7 HHVM and so on to optimize the performance of the scheme
The framework of PHP is very similar, the individual think the key is to see the project needs to choose the framework. Or do you want to find a framework for what business development, or to see the framework of the source code
Laravel
Must recommend
Recommended Laravel
I use thinkphp.
Not much to say. YII reasons See here:
http://segmentfault.com/q/1010000000500665#a-1020000000632699
No one recommended yaf? Sina Weibo and Baidu Stick are all written in this C language PHP framework
http://www.laruence.com/manual/
I recommend CI or tp3.1.x.
Used TP 3.2.x tp3.1.x CI cakephp laravel.
At first, the CI was too humble, in fact, he is the most powerful extension. TP 3.2 is really a lot of questions.
TP 3.1.x is also a good choice
It just feels like yii.
Laravel
You won't be disappointed.
thinkphp practical Very good
With Laravel tall on
Choose Yii you won't regret, choose TP you will regret.
thinkphp pit or a lot of, there are design errors, no one tube, the current author disappeared, issue no one tube. The current tutorial thinkphp.cn This place has, a complete book none, Daniel can use, beginners never use
It depends on what kind of site you're learning the framework to do.
Individual likes to do the project while learning things, through practical learning things more real, you can first think about what you are going to do a project, the project cycle is much longer. Then, according to the project size, cycle and their own ability to choose the framework for learning practice.
Good luck!
PS. This is the Chinese version of Reddit, which I wrote in the CI framework. 91 Headlines
I've only used yii, so I can only recommend it.
The learning curve of Yii is more difficult to master when it comes to self-study. Developed quickly
(I wanted to agree with those who answered Yii, but not enough prestige
Recommended YAF Framework
Writing something with Laravel, it feels good.
My advice is to:
If you play in your spare time, three frames, do a simple user login, or message board, that handy with that. Other people's suggestions can not replace your personal subjective feelings. Try the Lord for yourself.
If you work for this job, I suggest three to learn, from a long-term plan to see, each company's strategy and technology history is not the same, so all understand, and the framework has a great similarity, I personally understand, CI and TP is actually very similar, just a grasp of the current Chinese technical psychology, more convenient, A little more stupid. Or at work in the company with the school that, amateur self-toss in more things, than in the company and colleagues to fight the need for a variety of practical projects.
How do you say the frame performance is measured, just write a hello,world even if tested?
But it is not recommended laravel this framework, recommended Phalcon this framework, who use who know
Micro-frame recommended Slim and Silex, the latter more heavyweight but and symfony components can be very good mix, the former can be regarded as a Sinatra PHP version, but also very praise, there is an open-source lightweight textpress blog engine called Flat-file is used it, Can be a good reference for learning.
The main heavyweight is the Zend Framework and the Symfony bar, too complex to have no comment.
In recent years, it is worth mentioning that Laravel and Phalcon, the former is the most star on GitHub PHP framework, very good, the latter is the second highest performance PHP framework, almost all of the functions are implemented in C, The first high is YAF but YAF code style is PHP 5.3 ago, not modern enough, less than Phalcon function ...
In addition, there are domestic thinkphp, all kinds of domestic PAAs operating environment such as Ace,bae,sae is optimized, and the Chinese document is perfect, is also a good choice.
Symfony is a must learn, represents the PHP framework of the most advanced design ideas, developers, community active, component-based, low-coupling, high-reuse;
Laravel and Drupal are based on Symfony;
Novice does not recommend the framework of the C extension;
In fact, novice thinkphp to get started quickly, more documents, only suitable for beginners.
But it looks like TP has a little problem.
CI, must.
Symfony2, must learn, it has advanced design ideas, representing the most advanced productivity of PHP!
Symfony2 is learning, share it together
One of my open source frameworks, if you can be interested in studying development together
I have been tangled laravel and Phalcon, but after writing a few demo I was determined to choose phalcon,laravel really bloated, a PHP framework is even heavier than symfony is unacceptable. On the contrary, Phalcon run fast, elegantly designed and very comfortable to write. In addition, after the Phalcon 2.0 is a leap, after a lot of non-controller layer of code can be encapsulated into the extension, this performance to think about the excitement. But the framework of this kind of thing is similar to looking for a girlfriend, not have to pursue the most beautiful, suitable for their own good.
It feels good to see a little frame like slim recently.
Symfony
It seems that Kohana no one used _ (: З"∠) _
All of PHP's frameworks are similar, and it's easier to learn one and learn about other frameworks.
Just use Yii for starters.
Brother Bird's yaf frame is good.