Ec (2); With the popularity of RubyonRails, PHP, a popular Web application scripting language, has also seen a large number of new-generation development frameworks. At the same time, domestic PHP developers started to keep up with Foreign Development in Beijing office buildings and launched different development frameworks. Before RubyonRails gave birth to a revolution, many development frameworks were available in the PHP field, such as Mojavi, WACT, PHPMvc, and Seagull. Although these frameworks also adopt the MVC mode, the number of script ec (2); the script
With the popularity of Ruby on Rails, PHP, a popular Web application scripting language, has also seen a large number of new-generation development frameworks. At the same time, domestic PHP developers started to keep up with Foreign Development in Beijing office buildings and launched different development frameworks.
Ruby on Rails boosts change
Before RoR became popular, there were many development frameworks in the PHP field, such as Mojavi, WACT, PHPMvc, and Seagull. Although these frameworks also adopt the MVC mode, database abstraction layer, and other technologies. However, since PHP itself was not as popular as it is now, these frameworks were not widely used and eventually ended up in silence.
After the rapid development capabilities provided by RoR are realized, the PHP community is injected with doping. Various application technologies and development frameworks emerge one after another.
The birth of a new generation of frameworks
The PHP community has not fallen into too much debate after it is stunned by the RoR. Instead, they took immediate action and started the design of the next-generation framework. The first batch of frameworks were basically the clone of RoR. For example, PHP on Trax (for example, Ruby on Rails), TaniPHP, and Akelos. The biggest feature of these frameworks is to strive to clone RoR by 100%, regardless of the architecture, design mode, or usage.
These frameworks attracted the attention of developers at the beginning, but with the developer's in-depth understanding, the halo on these frameworks gradually fades. Obscure architecture, poor performance, and too many restrictions make these frameworks difficult to use in real projects.
At this time, many PHP developers believe that they can learn from the design idea of RoR, but should not copy the structure and implementation of RoR. To this end, some frameworks that also promote rapid development have started to appear in the PHP community. Among these frameworks, CakePHP and Symfony are the best.
CakePHP (http://www.cakephp.org /)
CakePHP is full of RoR shadows. The layout management from ActiveRecord mode to view is very similar to RoR. In addition, CakePHP tries to implement many things similar to RoR at the beginning. However, the development team of CakePHP later found that PHP and Ruby are very different. Therefore, many design in RoR lacks practical value even if it can be implemented in PHP.
In its development, CakePHP gradually stepped out of the RoR shadow and began to explore architectures and implementations that better utilize the advantages of PHP. So for a while, the CakePHP API has undergone drastic changes, so that other developers have to wait and see.
However, due to some unreasonable architectures in the early stage and too much imitation of RoR, the core part of CakePHP becomes increasingly hard to understand and the running performance is also unsatisfactory. In addition, CakePHP uses a large database operation object as the basis for all business objects. Although this is conducive to rapid development, testing of business logic objects is very difficult.
CakePHP is ideal for small projects. Beijing flower gift's excellent fast development capabilities, rich APIs, and detailed documentation can help developers quickly complete their work. However, with the increase of the project scale, the limitations of CakePHP have become prominent.
Symfony (http://www.symfony-project.com /)
Symfony is a very mature framework that makes a lot of use of existing open-source projects. Symfony uses Mojavi's core code to implement the MVC mode of the framework and uses Propel as the database abstraction layer. Symfony is not only powerful, but also fully supports Ajax. With a large number of documents and tutorials provided by the official website and an active community, many developers are welcome.
However, the biggest problem with Symfony is that it uses too many open-source projects with different styles to form a framework. Because Mojavi and Propel are both quite complex, the Symfony structure is very complex and hard to understand and learn.
However, for enterprises that want to select a framework as their internal system infrastructure, Symfony's maturity, rich documentation, and active communities are worth considering. After all, the enterprise's internal systems focus more on stability and long-term support.
Commercial interests and Ultimate simplicity
After seeing the potential commercial value of the PHP development framework, Zend.com and IBM announced that they would launch a development framework that truly gives full play to the advantages of PHP. For a time, this message caused an earthquake in the entire PHP community. Everyone began to look forward to this development framework with an "official" background to point out a correct path for PHP developers.
However, the world is hard to test. After the Zend Framework Team published several code snippets, some developers immediately pointed out that these code snippets cannot be implemented. It turns out that these code snippets are just perfect. Due to the capabilities of the PHP language, Zend Framework does not implement the implementation product similar to the ActiveRecord mode in RoR that was originally promised.
Zend Framework (http://framework.zend.com /)
Zend Framework applies a large number of new object-oriented features in PHP5: interfaces, exceptions, abstract classes, and SPL. The application of these things makes Zend Framework highly modular and flexible. In addition, Zend Framework is expected to become an outstanding enterprise application development Framework HKRFP because it strictly complies with the principles of "interface-specific programming" and "Single Object Responsibility.
Unfortunately, Zend Framework has not made any breakthroughs until today. When Zend Framework is used for development, the Framework does not provide any help for the logical separation of the most important fields of the application itself.