The current situation and prospect of PHP development framework

Source: Internet
Author: User
Tags documentation php language zend zend framework ruby on rails



With the popularity of the Ruby on Rails, the popular Web application scripting language of PHP also has a large number of new generation development frameworks. At the same time, the domestic PHP developers in Beijing office began to closely follow the development of foreign countries, launched a different development framework.

Ruby on Rails creates change
Before the Ror, there were many development frameworks in the PHP field, such as Mojavi, Wact, Phpmvc and Seagull. Although these frameworks also use the MVC pattern, the database abstraction layer and so on technology. But since PHP itself was not as popular as it is now, these frameworks have not been applied in large numbers and ended in silence.
And after feeling the rapid development capabilities offered by ROR, the PHP community has been injected with stimulants. Various applications and development frameworks abound.

The birth of a new generation of frames
The PHP community did not get into too much controversy after being stunned by the ROR. Instead, we started the design of a new generation of frames by acting immediately. The first groups that appeared first were almost all ROR clones. For example, PHP on Trax (even names are borrowed from Ruby on Rails) and taniphp, Akelos, and so on. The most important feature of these frameworks is to strive for 100% clone Ror, whether in the architecture, design pattern, or use method.
These frameworks did attract the developer's attention at first, but as the developers get to know them, the halo of these frames fades. Obscure architectures, poor performance, and too many limitations make these frameworks difficult to apply in real-world projects.
At this point, many PHP developers think that they can learn from ror design ideas, but should not copy the structure and implementation of ROR. To this end, some of the frameworks that also promote rapid development are beginning to appear in the PHP community. In these frameworks, cake and symfony are outstanding.

Cake (http://www.cakephp.org/)
Cake is full of Ror shadow, from ActiveRecord mode to view layout management and Ror very similar. and cake at the beginning also try to achieve a lot of things like Ror. But the cake's development team later found that there was a huge difference between the PHP language and the Ruby language, so many of the designs in Ror lacked practical value even if they were implemented in PHP.
Cake in the development gradually out of the shadow of Ror, began to explore more can play the PHP language itself advantages of the architecture and implementation. So there was a time when the cake API changed so dramatically that other developers stopped and waited.
However, due to the unreasonable structure and the imitation of ror too much, the core of cake is becoming more and more difficult to understand and the performance is unsatisfactory. and cake will be a huge database operation object as the basis of all business objects. While this facilitates rapid development, it makes testing of business logic objects very difficult.
For smaller projects, cake is ideal. Beijing Flower Gifts Excellent rapid development capabilities, rich APIs and detailed documentation can help developers finish their work quickly. But as the scale of the project increases, the limitations of cake become prominent.

Symfony (http://www.symfony-project.com/)
Symfony is a very mature framework that leverages existing open source projects in large numbers. Symfony uses Mojavi's core code to implement the framework's MVC pattern, using propel as the database abstraction layer. Symfony is not only powerful, but also has full support for Ajax. Coupled with the extensive documentation and tutorials provided by the official web site and an active community, many developers are welcome.
But the biggest problem with Symfony is that it uses too many open source projects of different styles to combine into a framework. Because Mojavi and propel themselves are quite complex, the structure of symfony is very complex and difficult to understand and learn.
But for businesses that want to choose a framework as an enterprise's internal system infrastructure, symfony maturity, rich documentation, and an active community are worth considering. After all, the enterprise's internal system is more focused on stability and long-term support.

Business interests and the road to Jane
After seeing the potential commercial value of the PHP development framework, Zend.com United IBM announced that it was going to launch a development framework that would really give PHP its edge. For a time, this message caused an earthquake in the entire PHP community. Everyone is starting to look forward to the "official" background of the development framework to the PHP developers to point out a correct path.
However, as the Zend Framework team publishes several snippets of code, it is immediately possible for developers to point out that these snippets are impossible to implement. It turns out that these snippets of code are just beautiful ideals. Limited to the capabilities of the PHP language itself, the Zend framework ultimately did not achieve the implementation of the Ror ActiveRecord pattern originally promised.

Zend Framework (http://framework.zend.com/)
The Zend framework applies a large number of new object-oriented features in PHP5: interfaces, exceptions, abstract classes, SPL, and so on. The application of these things makes the Zend Framework highly modular and flexible. At the same time, because of strict adherence to the principles of "interface Programming" and "single object Responsibility", the Zend Framework is promising to become an excellent enterprise application development Framework HKRFP.
Unfortunately, the Zend Framework has not made more breakthroughs until today. When using the Zend Framework development, the framework does not provide any help for the most important domain logic separation of the application itself

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.