The PHP development framework has recently become a hot topic in the PHP community, with a new framework being introduced almost every day. With more than 40 development frameworks on the market, it's hard to tell which one is best for you, especially when the functionality offered by these frameworks is different.
This article will guide you through the 10 hottest and most popular development frameworks and make a horizontal comparison of them. I'll start by outlining a list of all the frames, and then we'll outline them individually.
Overview
Below you see a list of the 10 development frameworks, listing the features they provide.
#1: Indicates whether the framework built-in model-view-controller.
#2: Indicates whether the framework supports multiple databases without modification.
#3: Indicates whether the framework supports object record Mapper, which is typically the ActiveRecord package.
#4: Indicates whether the framework contains other database objects, such as Tablegateway.
#5: Indicates whether the framework built-in template engine.
#6: Indicates whether the framework caches objects or other caching mechanisms.
#7: Indicates whether the framework has built-in validation or filtering components.
#8: Indicates whether the framework has built-in AJAX support.
#9: Indicates whether the framework has a user authentication module built in.
#10: Indicates whether the framework contains other modules, such as an RSS feed parser, a PDF module, or other utility modules.
Zend Framework
Zend Framework Although it does not make much of a difference from the comparison table, the Zend framework does cover a number of modules dealing with PDF documents, RSS feeds, online Services (Amazon, Flickr, Yahoo), and even more. Zend Framework also contains a number of different database objects, greatly convenient to query the database implementation, and even eliminate your handwriting SQL query script trouble.
Currently, the Zend framework does not fully support ORM, but developers are still stuck in the debate about whether to add an ORM layer. Perhaps in the future, you'll be able to write your own ORM package, contribute to the community, and have the opportunity to integrate it into a future version of the framework.
The Zend framework looks promising, and it fixes some common PHP problems at the same time. Maybe the stable version will do a better job in the comparison table!
Cakephp
CakePHP is an advanced MVC framework that comes with a few modules. It can handle most database transactions and support AJAX data validation. At the same time, its user authentication module (accsee List) is also very unique, can be used for different users to access different parts of the site to assign corresponding access rights.
Although CakePHP's Web site appears to be confusing, the framework itself is more complete and usable. It has been a bit of a surprise to see a stable version of the article, which has been under development for months, but I suspect it may be possible to develop the product in a beta version.
Symfony Project
It is not difficult to see from the comparison table, Symfony is a very extensible development framework, it even fully embedded in a propel called the Orm,propel is also open source project, and so far probably the best ORM solution in PHP. Symfony also incorporates Creole for the database abstraction layer and Mojavi for the MVC model layer. Since it simply reuses the source code of these projects, rather than rewriting them, this makes the framework extremely robust and extensible, which is starkly in the table.
Symfony has two drawbacks so that it does not support PHP4, which is due to the support of many new features in the PHP5, and the second is relatively complex. Most tasks, such as paging, have a much more complex time frame in symfony than other frameworks, and this is by no means a framework known as brevity.
Seagull Framework
The Seagull framework looks pretty good and comes with a lot of features. Support PHP4 is also very advantageous to its promotion, I am still using PHP4, and most of the space register has not fully supported PHP5.
Unfortunately, Seagull does not provide support for Ajax, which is a bit of an excuse, but Google can effortlessly search for a tutorial to add AJAX support, and this should be added to the framework in the future.
Wact-web Application Toolkit
Wact has a lot of potential, and the framework's primitives are readily available, like MVC, database objects, and template engines, but that's all. It does not have any plug-in modules, but also lacks some built-in features such as AJAX, caching, authentication modules, and so on.
Nonetheless, Wact has the best template engine and can even help you create your own template tags to extend functionality.
Prado
Prado is very unique and offers some cool features. It has no built-in support for MVC (as I see it), but it does have a wide variety of components to handle most PHP tasks, and, even better, it implements event-driven scripting. For example, setting the OnClick event on an HTML button links to a PHP function. This is approximate to ASP. Prado does contain more ASP. NET components, like the GridView and Repeater Control.
Prado appears to be weaker than other frameworks, but it is not, by comparison with the data on the table. Because Prado is so unique, although it does not score high, it is very powerful in practical applications.
PHP on Trax
This framework looks like it's just an interface to Ruby and rails on PHP, and it used to be called PHP on rails. Unfortunately, its documentation is so scarce that it's hard to tell what the framework actually offers, but the document does mention ActiveRecord, so it might provide ActiveRecord, like Ror. And there's Ajax support built into it, and it's easy to see from the two demo videos on its website.
PHP on Trax basically conforms to the user's requirements for the frame, but it still lacks arms and legs, such as validating modules and caching modules. It also does not have any plug-in module, is at present, it is very elementary.
ZooP Framework
The ZooP framework can be said to be all-encompassing, with a glance on the comparison table, almost all supported, except the ORM layer. What's more surprising is that it supports PHP4, which is really not easy for the overall functionality it offers, great!
Zoop also provides built-in GUI controls that make it extremely fast to create forms. It supports the vast majority of common form elements, and the advantage of using GUI controls in regular HTML is that you can tightly combine the logical operations of validation with GUI control.
EZ components
EZ Components is not so much a framework as a component set, possibly because it does not have built-in support for MVC.
It includes most commonly used components, such as database components and cache components, or a lack of something. For example, there are no ActiveRecord components and validation components. On the other hand, it provides some plug-in components, such as e-mail components, but not many, other frameworks (like the Zend Framework) provide more.
CodeIgniter
CodeIgniter is a relatively new framework, its author is the ExpressionEngine development team (Translator Note: PHP Blog program Pmachine upgrade products, unfortunately not free), it seems to have potential. Unfortunately, it is not yet able to handle multiple databases, although this feature is still under development.
It originates from Ruby on Rails, so it offers many of the same features, such as scaffolding (automatic code generation). Its documentation is pretty good, and there's even a video tutorial to help you get started quickly.
The winner is ...
I have to be very sorry to announce that no one wins. Each framework offers different features, so no one can win. As always, this will ultimately depend on your preferences and choices. I highly recommend that you carefully read the documentation of each framework before making a decision, and that you are left to judge by yourself.
Personally, I really like the Zend framework, but when I look at each framework, I find a lot of interesting features, such as Prado events, or Symfony ORM packages.
When you really can't decide which frame to choose, you can still choose to do as most people do: do it yourself. It takes time and effort, but it's fun.
As I started to say, some of the frameworks have already been updated, and I've recently tended to symfony, and its rich documentation makes it easy to get started, but its complexity has also led to the development of small projects, and even the process of personal mini-projects like mine is a little more Perhaps CodeIgniter's brevity is sufficient in this regard.
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.