Which of the following is better for Yii, laravel, and phalcon?

Source: Internet
Author: User
Tags what php
The company wants to re-develop the Mall website. It used ecshop before. now it wants to re-develop the website and write it using the framework. the above three people refer to the online comments, which is the best, but I do not know how to choose. On the other hand, we hope to have a greater degree of freedom to control the Mall website. it mainly aims to expand the functions of the mall in the later stage without being limited to the framework, but it is easy to integrate with the framework. I am a beginner phper. could you please give me some advice? the company wants to re-develop the Mall website. I used ecshop before. now I want to re-develop it and use the framework to write it, the above three people refer to the online comments, which is the best, but do not know how to choose. On the other hand, we hope to have a greater degree of freedom to control the Mall website. it mainly aims to expand the functions of the mall in the later stage without being limited to the framework, but it is easy to integrate with the framework. I am a beginner phper. could you please give me some comments? I personally recommend yii for the following reasons:
  • Performance: phalcon> yii ≈ laravel. because phalcon is developed in C language and loaded in php extension mode, no additional parsing and execution of the framework is required, so the performance is good. However, it also reduces the controllability of the framework and makes it difficult to troubleshoot bugs at the framework level. it is difficult to fix bugs that do not understand C language and php extension development.
  • Laravel is better at code readability. (Strong expressiveness, basic understanding of what php is doing)
  • However, in terms of development speed, yii is ≥laravel> phalcon.
  • From learning cost and usage cost: yii ≥ laravel> phalcon.
Based on the above: yii leads with a weak advantage and recommends yii. Yii's powerful components, rich class libraries, mature models, convenient gii, and various widgets help you increase development speed by several levels
I have been using yii for a few years.
More cases: http://www.yiichina.com/cases I have used many PHP frameworks, CI, Kohana, Zend, Yii, Qcodo, and laravel. I don't really like them, but technically I'm too lazy to tell them the length, there is no essential difference. Yii is a mature and excellent framework. Its architecture is close to actual use cases and the source code is also very readable. This does not mean that other frameworks are not like this, but Yii is doing well.

I finally stayed in the Yii camp. First of all, of course, I like the possibility provided by this framework for development and its architecture design;

But the main reason is that Xue Qiang, Qiang Xue | LinkedIn, author of Yii.
Qiang Xue is an established software engineer with 10 + years of enterprise software development experience. He is an expert in Business intelligence softwareAs well as Web framework development. he is the founder of Yii, one of the most popular Web frameworks, powering thousands of Web applications. qiang is an avid open source contributor, a big fan and practitioner of test-driven development and agile methodology. qiang has ed his PhD degree in Computer Science from Duke University.
I am a Chinese speaker. if I plan to invest my time in a key technology or community, it is important that the author and culture as users overlap;

Maybe it's just my personal feeling-until one day I noticed quietly that my French colleagues strongly urged Symfony to be too lazy to look at Yii, even if I put all kinds of advantages into a newbie (presumably SF) and agile development are put in the ppt.

Culture is important. Yii allows me to establish a Connection with it. I care about it. to put it bluntly, it is because my friends are Chinese. the stream is not popular. what is it, besides, Yii is also very popular. it has been very comfortable to use it for many projects. For your reference: I have read many articles before selecting a framework. both Chinese and English documents are available in Chinese and foreign countries. Finally, I chose Yii => Yii2 from 11 years of contact with yii. now, I have used yii for several projects. most of them belong to many small and medium-sized startup projects in BAT. The most recent one is the application layer of an e-commerce project. Yii is indeed a good balance.
1. automated crud allows you to complete the interface instantly after data modeling.
2. layout and other view layout modes allow you to easily block the view.
3. the flexible widget mechanism makes it easy to reuse blocks. this is used to implement complicated ad spaces on the e-commerce system page.
4. the provision of modules allows several teams to easily split code in the same project. (Operation activities are developed independently by another development team in several modules)
5. url manager rules, can transform a controller to any customer needs url link format (at the beginning of the customer to xxx/product-111.html later to xxx/p/111.html finally to xxx/111.html)
6. caching, session, and other encapsulation, allowing you to easily switch between redis file caching and databases
7. powerful log system with different levels of logs to facilitate tracing
8. the verification part may be wise, but for the early stage, a good model + validate encapsulation can be used for front-end js and backend PHP layer verification, and form submission verification is also the most complex part, relatively simplified
9. the theme function enables rapid iterative development of Phase I and Phase II through different themes. At the same time, the PC and mobile versions are also implemented.
10. in terms of performance, opcache is actually not slow. it can be seen that after php7 is supported, the performance can still be improved. Tens of millions of PVS to hundreds of millions of PVS can also be supported. of course, if there is such a large volume, you can choose any technical architecture.

If you have so many questions for the time being, you can leave a message. we recommend that you use yii for startup. as long as the follow rules are used, the quality of the code written is high. I am not using much of the other two frameworks and will not comment on them.

In foreign countries, Symfony2 has always been the standard for enterprise php frameworks, and e-commerce companies also basically use Symfony2, such as Magento and Sylius. I have made a simple comparison. Laravel and symfony are in terms of architecture and core functions, basically the same ~~ No one is more powerful. However, laravel has two differences: the first language is beautiful, and the second out of box is user-centered. it has made many encapsulation and used many best practice conventions, prefer black box, like Apple's style, like Apple's mobile phone; symfony2 prefers white box, and the architecture is clear and flexible, but complicated and cumbersome ~~ You need to make a lot of wheels on your own. The advantage is that the wheels can be easily debugged, a bit like the windows Enterprise Edition.

For the single framework itself, I personally think Laravel 5.1 is the best in all the current "full stack" php frameworks. The keyword here is "full stack". Laravel 5.1 can handle almost any web application and is perfectly compatible with some js front-end frameworks. This means that individual developers can develop very cool applications independently around this framework. for example, laravel can be used to implement the popular SNS Community system.

Laravel 5.1 is also very advantageous in team development. its excellent scalability and advanced architecture are the true "modern framework 』, teams can develop rich development strategies based on the Framework features. For example, Laravel has good support for CLI commands, which means that there is a lot of room for automation code.

Laravel 5.1, both a novice and veteran of PHP, is worth learning. it is like Photoshop in the PHP field, so don't hesitate.

If you have never used these frameworks, we strongly recommend that you start Laravel first.

I personally recommend that Yii study the new framework to bring about a higher salary?

If the answer is No. So the best framework is nothing (ran) for you (Bing) that (nuan ). Do not care what those who preach. Every time I was taken to the trail, it was elegant, efficient, and self-developed. I directly asked him if he could raise his salary.

The market's pricing for you is basically everything. If you have time to learn that stuff, you might as well spend more time with your female pass.

Ape Thinking is generally simple. It is easy to be cheated by people on various trails. Everyone should be vigilant!

---------------------------------------------------------------- I use CI. If it is relatively simple, no framework is needed. Assemble them with some composer packages. Lara depends on too many composer packages. Each component takes too long. Yii if you want to use built-in things. The naming of these frameworks and various established constraints must be met.
However, the program itself is very free. Every language just gives us some basic constraints. How to build a specific house. All depends on personal interests.
Once you are familiar with the framework. In the end, it will definitely break away from these things.

Personal opinion: most of the frameworks are tuo xiang. Beginners cannot understand the framework. So I think the framework is so powerful. Efficient and convenient. Of course. The learning framework is very helpful for beginners to develop some standards and deepen their understanding of the language. However, one thousand people have one thousand Hamlet! A good framework is just an understanding of some languages by the framework author! Your understanding may not be the same. When you are familiar with it, you will gradually have your own unique understanding and understanding. Laravel and phalcon all include the current popular design ideas and programming consciousness.
Although laravel is complex and powerful, combined with composer, laravel makes full use of various third-party library combinations to implement the framework, such as doctrine and symfony components. It must be the future development trend and is worth using.

Phalcon is another development idea of implementing the php framework through extension. it also derives zephir, an Alternative php extension development method. if you need to do in-depth customization of the framework, there is no C Foundation, it is indeed a big challenge, but when there is a problem with this framework, it is easy to confuse new people, and it is difficult to locate the problem.

I have little affection for Yii, and there are too many slots. The strange directory structure is a nondescribedomainnamespace rule (The java style was learned earlier). There are too many rules to constrain developers' behaviors. The definition of components is not easy to use.

The above frameworks have a relatively high threshold for beginners. if you do not have in-depth learning and understanding about the frameworks, it is difficult to control them easily.
We recommend symfony, which has powerful functions, low beginner's threshold, and avant-garde design ideas. it is suitable for large and medium-sized project development and is easy to use. Recently, I chose laravel, which everyone agreed on. The code written with laravel is indeed elegant. what attracts me very much is his database migration function, it is convenient for teams to collaborate in development.
Disadvantages: Although the routing function is strong, it is complicated and not concise.
Performance is not very good to the naked eye
After reading the source code, we can see that the routing distribution and middleware reading sections in kenerl are dizzy by a bunch of closures, so the internal implementation is not very concise and elegant.
Orm is not very useful
What's wrong with document translation? the original version is not written, and the learning cost is quite high.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.