Comparison of ten php development frameworks [reprinted]

Source: Internet
Author: User
Tags comparison table codeigniter zend framework

This article has been around for a few days. Now I want to select an easy-to-use PHP framework for my own development, so I found it again. After reading it, I translated it by the way, since the original text was written at the end of March this year, the current situation of many of the frameworks has also undergone great changes. This article is just for your convenience, provide a reference for readers looking for such information, and back up their knowledge ...... introduction

Recently, php development frameworks have become a hot topic in the PHP community. New frameworks are launched almost every day. Faced with more than 40 development frameworks on the market, it is difficult to determine which one is the most suitable for you, especially when these frameworks provide different functions.

This article will guide you through the ten most popular development frameworks and compare them horizontally. I will first list a list of all the frameworks, and then we will briefly describe them one by one.

Overview

The following shows a list of the ten development frameworks and lists their respective functions.

#1: indicates whether the framework has a built-in Model-View-controller.
#2: indicates whether the framework supports multiple databases without modification.
#3: indicates whether the framework supports the Object Record er. This is usually the encapsulation package of activerecord.
#4: indicates whether the framework contains other database objects, such as tablegateway.
#5: indicates whether the framework has a built-in template engine.
#6: indicates whether the framework caches objects or other caching mechanisms.
#7: indicates whether the framework has built-in verification or filter components.
#8: indicates whether the framework has built-in Ajax support.
#9: indicates whether the framework has a built-in user verification module.
#10: indicates whether the framework contains other modules, such as the RSS feed parser, PDF module, or other practical modules.

If any of the errors listed in the table above are inappropriate, please correct them.

Zend framework

The Zend framework is still quite new and is still in beta (Note: compared with the time when the author wrote this article), there are still some functions to be complete (for example, the user verification module ), however, it already has many features. Although the comparison table shows that Zend does not take advantage of any cheap resources, Zend framework does cover some modules that process PDF documents, RSS sources, and online services (Amazon, Flickr, Yahoo, or even more. Zend framework also contains several different database objects, which greatly facilitates the implementation of database queries and even saves you the trouble of writing SQL query scripts.

Currently, Zend framework does not fully support Orm, but developers are still in the debate about whether to add an ORM layer. These functions may be implemented in the future, so you can write your own ORM package, contribute it to the community, and have the opportunity to integrate it into the future version of the framework.

Zend framework looks promising, and it also fixes some common PHP problems. Maybe the stable version can be better in the comparison table!

CakePHP

CakePHP is an advanced MVC framework that comes with a few modules. It can process most database transactions and support Ajax data verification. At the same time, its user authentication module (accsee list) is also very unique, you can assign the corresponding access permissions for different users when accessing different parts of the website.

Although the website of CakePHP looks dizzy, the framework itself is completely available. It is a bit surprising that the stable version has not yet been seen in the Document. After all, it has been developed for several months, but I guess it is not possible to develop products using beta versions: risk you @ SS baby !).

Symfony Project

From the comparison table, it is not difficult to see that symfony is a highly scalable development framework, and it is even completely embedded with An ORM called propel. propel is also an open-source project, and it may be the best ORM solution on PHP so far. Symfony also integrates Creole for the database abstraction layer and mojavi for the MVC model layer. Because it only reused the source code of these projects, rather than rewriting, the framework has extremely powerful scalability, which is evident in the table.

Symfony has two shortcomings so that it does not support PhP4. This is because of the support of many new features in PhP5. Second, it is relatively complicated. For most tasks, such as paging, the time limit in symfony is much more complex than other frameworks. This is by no means a concise framework.

Seagull framework

The Seagull framework looks pretty good and comes with many features. The support for PhP4 is also very beneficial to its promotion. I am still using PhP4, and most storage vendors have not yet fully supported PhP5.

Unfortunately, Seagull does not provide Ajax support. It is a bit difficult to say, but Google can easily search for a tutorial to add Ajax support by itself, in addition, this should be added to the framework in the future.

Wact-web application toolkit

Wact has great potential. It provides all the basic components of the framework, such as MVC, database objects, and template engines. It does not have any plug-in modules, but also lacks some built-in functions, such as Ajax, cache, verification module, and so on.

Even so, Wact still has the best template engine and can even help you create your own template tags to Expand functions.

Prado

Prado is very unique and provides some cool features. It does not have built-in support for MVC (in my opinion), but it does have a variety of components to handle most PHP tasks, and even better, it implements event-driven scripts. For example, set the onclick event to link to a PHP function on an HTML button. This is similar to ASP. NET, and Prado does include more ASP. NET components, such as gridview and Repeater control.

Based on the data on the comparison table, Prado seems to be weaker than other frameworks, but this is not the case. Because Prado is so unique, although it has a low score, it is very powerful in practical applications.

PHP on Trax

This framework is simply an interface of Ruby and rails in PHP. It was also called PHP on rails. Unfortunately, its documentation is too scarce, so it is difficult to determine what the framework actually provides, but it does mention activerecord, so it may provide activerecord, like ror. In addition, it has built-in Ajax support, which is not difficult to see from two demonstration videos on its website.

PHP on Trax can basically meet users' requirements on the framework, but it still lacks arm and legs, such as the verification module and cache module. It does not have any plug-in modules. Currently, it is very elementary.

Zoop framework

Zoop framework can be said to be all-encompassing. The comparison table is clear at a glance, and almost all of this support is supported, except for the ORM layer. What's even more surprising is that it supports PhP4, which is too simple to provide such a comprehensive function. It's great!

Zoop also provides built-in GUI control, making it extremely quick to create a form. It supports the vast majority of common form elements. The advantage of using GUI control in regular HTML is that you can closely combine the logic operations of verification with GUI control.

EZ Components

EZ components is not so much a framework as a component set, probably because it does not have built-in support for MVC.

It includes most common components, such as database components and cache components. For example, there is no activerecord component or verification component. On the other hand, it provides some plug-ins, such as the e-mail component, but not many, other frameworks (such as Zend framework) provide more.

Codeigniter

Codeigniter is a relatively new framework, and its author is the development team of expressionengine (Translator's note: it is a pity that it is not free to upgrade the pmachine of the PHP Blog program ), it looks very promising. Unfortunately, it cannot process multiple databases, even though this feature is still under development.

It is derived from Ruby on Rails, So it provides many identical functions, such as scaffolding (automatically generated code ). Its documentation is quite good, and even video tutorials help you get started quickly.

The winner is...

Here I have to announce with great regret that no one wins. Each Framework provides different features, so no one wins. In the end, as always, this will depend on your personal preferences and choices. I strongly recommend that you carefully read the documents of each framework before making a decision. The rest is determined by yourself.

Personally, I do like Zend framework very much. But after studying each Framework carefully, I found many interesting functions, such as Prado events, or symfony's ORM package.

When you really cannot decide which framework to choose, you can still choose to do it yourself, as most people do. Although time-consuming and labor-consuming, the fun is endless.

If you have any questions or leave a message, feel free to leave a message in the comment form below, or join the discussion in the phpit forum. Similarly, if there are any mistakes in the document or the document, please make sure that you are correct.

As I said at the beginning, some frameworks have been greatly updated, and recently I prefer symfony. Its rich documentation makes it very convenient to get started, but its complexity also makes it possible to develop small projects, even the process of personal mini projects like me is a little outweighs the candle. Maybe codeigniter's conciseness is enough in this respect.

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.