PHP Framework nowadays is getting more popular to web application developers who uses PHP as their main language. A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and often promote code reuse. And needless to say that it can cutoff half of your regular development time.
So lets begin with the list (no particular order).
1. Zend Framework
Extending the art & spirit of PHP, Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.
Expanding on these core themes, we have implemented Zend Framework to embody extreme simplicity & productivity, the latest Web 2.0 features, simple corporate-friendly licensing, and an agile well-tested code base that your enterprise can depend upon.
Extreme Simplicity & Productivity
Zend Framework Components
- Model-View-Controller (MVC)
- Internationalization (i18n) and Localization (l10n)
- Authentication, Authorization, and Session management
- Web and Web Services
- Mail, Formats, and Search
- Core Infrastructure
CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.
- No Configuration – Set-up the database and let the magic begin
- Extremely Simple – Just look at the name…It’s Cake
- Active, Friendly Community – Join us #cakephp on IRC. We’d love to help you get started.
- Flexible License – Distributed under the MIT License
- Clean IP – Every line of code was written by the CakePHP development team
- Best Practices – covering security, authentication, and session handling, among the many other features.
- OO – Whether you are a seasoned object-oriented programmer or a beginner, you’ll feel comfortable
- Model, View, Controller Architecture
- Application Scaffolding
- Code generation via Bake
- Access Control Lists and Authentication
- Simple yet extensive validation of model data
- Router for mapping urls and handling extensions
- Security, Session, and RequestHandler Components
- Utility classes for working with Files, Folders, Arrays and more
CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks CodeIgniter is right for you.
SilverStripe is a free and open source programming framework and content management system (CMS) for creating and maintaining websites. The CMS provides an intuitive web-based administration panel, allowing any person to maintain their website without knowledge of markup or programming languages.
SilverStripe offers a flexible MVC development framework known as Sapphire. Much like Ruby on Rails, but for PHP, it ensures developers are capable of extending and enhancing the functionality of the CMS and the website. More importantly, SilverStripe provides developers with complete control of the generated markup; allowing for higher, semantic standards of XHTML.
5. Akelos Framework
The Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to:
- Write views using Ajax easily
- Control requests and responses through a controller
- Manage internationalized applications
- Communicate models and the database using simple conventions.
Your Akelos based applications can run on most shared hosting service providers since Akelos only requires that PHP be available at the server. This means that the Akelos PHP Framework is the ideal candidate for distributing standalone web applications as it does not require any non-standard PHP configuration to run.
Symfony is a full-stack framework, a library of cohesive classes written in PHP5.
It provides an architecture, components and tools for developers to build complex web applications faster. Choosing symfony allows you to release your applications earlier, host and scale them without problem, and maintain them over time with no surprise.
Symfony is based on experience. It does not reinvent the wheel: it uses most of the best practices of web development and integrates some great third-party libraries.
Thousands of developers already trust symfony for their applications!
New users join the community every day, and that makes of symfony the most popular PHP5 framework around. A large community means easy-to-find support, user-contributed documentation, plugins, and free applications.
7. Zoop Framework
Far from being Yet Another PHP Framework or Rails clone, Zoop has been in development since 2001 and in use for the last 6 years in a number of different production environments. While it predates the recent proliferation of PHP frameworks, it’s based on solid MVC principles, including separation of display, logic, and data layers. It’s designed to be efficient, modular, and extensible, striking a balance between lightweight and fully-featured.
- A well-organized, fully-featured front controller.
- A Smarty based view layer, enhanced with form generation and rich UI controls.
- Several integrated data model access styles.
- Automation of common mundane tasks.
- Great native libraries and friendly integration with many third-party projects.
8. PHP on TRAX
Php On Trax (formerly Php On Rails) is a web-application and persistance framework that is based on Ruby on Rails and includes everything needed to create database-backed web-applications according to the Model-View-Control pattern of separation. This pattern splits the view (also called the presentation) into “dumb” templates that are primarily responsible for inserting pre-build data in between HTML tags. The model contains the “smart” domain objects (such as Account, Product, Person, Post) that holds all the business logic and knows how to persist themselves to a database. The controller handles the incoming requests (such as Save New Account, Update Product, Show Post) by manipulating the model and directing data to the view.
In Trax, the model is handled by what’s called a object-relational mapping layer entitled Active Record. This layer allows you to present the data from database rows as objects and embellish these data objects with business logic methods.
eZ Components is an enterprise ready, general purpose PHP components library. It is used independently or together for PHP application development. As a collection of high quality independent building blocks, eZ Components will both speed up development and reduce risks. An application can use one or more components effortlessly as they all adhere to the same naming conventions and follow the same structure. All components require atleast PHP 5.2.1.
Fusebox is the most popular framework for building ColdFusion and PHP web applications. “Fuseboxers” find that the framework releases them from much of the drudgery of writing applications and enables them to focus their efforts on creating great, customer-focused software.
PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.
What does PRADO require?
The sole requirement to run PRADO-based applications is a Web server supporting PHP 5.1.0 or higher. PRADO is free. You can use it to develop either open source or commercial applications.
Seagull is a mature OOP framework for building web, command line and GUI applications. Licensed under BSD, the project allows PHP developers to easily integrate and manage code resources, and build complex applications quickly.
Many popular PHP applications are already seamlessly integrated within the project, as are various templating engines, testing tools and managed library code. If you’re a beginner, the framework provides a number of sample applications that can be customised and extended to suit your needs. If you’re an intermediate or advanced developer, take advantage of Seagull’s best practices , standards and modular codebase to build your applications in record time.
Once your development cycle is complete, use Seagull’s features for deploying and maintaining your apps locally and remotely. Check out the friendly and active Seagull community and see if Seagull’s a good fit for you.
Check out the screenshots page to see Seagull in action. Or compare the features list with your current framework/CMS. Seagull offers the following key features:
- PHP 4/5 compatible
- compact core framework with basic CMS and other modules included to get you started
- ease of use: learning curve not as steep as other frameworks
- enterprise ready, performance conscious design
- tight integration with PEAR libraries, great for prototyping complex projects
integrated ORM for RAD
- highly configurable, easy to integrate with 3rd party code
- community support: the project enjoys participation from a large and active developer community, want the documentation in Chinese, looking for Seagull devs near you?
- loosely coupled components, use template engine of your choice, output to multiple devices or CLI
- staying power: started in 2001, the Seagull project has been steadily growing in popularity and now enjoys international recognition
Want to build a data centric business application without dirty code – PhpOpenbiz (Openbiz) is the solution! OpenBiz is a PHP application framework for professional IT developers and consultants to build web-based enterprise applications. Key features includes:
- XML Metadata-driven design principal. Developers declare business logic in metadata (zero-coding development)
- AJAX enabled browser client, Model-View-Controller (MVC), Object Relational Mapping (ORM)
- Eclipse plugin authoring tool
What is WASP?
WASP is a powerful web application framework built on PHP 5. WASP strives to allow web developers to make great applications with more fun and less code, but in the familiar playground of PHP.
Why use WASP?
WASP was written from the ground up in pure Object Oriented PHP5. WASP fully utilizes all of the enhancements made to PHP in version 5.
This means you use less code to create enterprise class applications.
This isn’t your hacker’s PHP.
WACT = The Web Application Component Toolkit is a framework for creating web applications. WACT facilitates a modular approach where individual, independent or reusable components may be integrated into a larger web application. WACT assists in implementing the Model View Controller pattern and the related Domain Model, Template View, Front Controller and Application Controller patterns.
The WACT framework is developed with the philosophy of continuous refactoring and Unit Testing. WACT encourages these activities in applications based on the framework. WACT uses Simple Test as a unit testing framework.
WACT emphasizes writing secure web applications. See Web Application Security for more information.
PHPDevShellserves as a UI “sea shell like” for developers to integrate or develop their applications within, giving the developer an immediate UI advantage of most required web application functionaries.
PHPDevShell features a number of great pre-developed components. Unlike most other frameworks where power was concentrated on the backend, PHPDevShell has concentrated on a balance providing the developer both a backend and a frontend ui.
Some pre-developed components include;
Backend providing basic development help with:
- Good clean file structure.
- Multiple site/domain configuration options.
- Core Class : General php functionality.
- Database Class : General database functions required.
- Email Class : Providing emailing support with PHPMailer.
- File Manager Class : Providing basic file management support.
- Form Class : Very basic form functions.
- Navigation Class : Handless all navigation for your application and PHPDevShell itself.
- Security Class : Handless all security for your application and PHPDevShell itself.
- Template Class : Manages flexible and light template system.
- WYSIWYG Class : Manages wysiwyg editor needs with TinyMCE.
- Iana Language Class : Manages multiple languages for your software and PHPDevShell itself.
- Plugin Manager : Does all plugin based calculations and transactions for you.
- Time Zone Class : Manages correct timezones for your application.
DIY is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT. It is fully object-oriented and designed following the MVC architecture and REST design principles. The idea behind it is not to reinvent the wheel but instead to combine existing and proven technologies in a convenient and effective way.
The DIY Framework is a compact class library which can be extended and included by user applications. It puts few restrictions and gives flexibility. In contrast, most of the current web application frameworks are designed inside-out: they define the general structure and only allow your application to fit within their constraints.
For the same reasons, the framework does not contain plugins, scaffolding, routing, AJAX, widgets or other buzzwords. We see them as helper applications at best, not as parts of the framework itself. No frills are included (hence the name) — just precise control over your sever-side code.
Because of the framework’s nature, the following descriptions of architecture and file structure should be seen merely as guidelines for applications. They are also used in the included sample files.
Using the DIY Framework, not a single line of SQL or HTML needs to be hardcoded, constructed “by hand” or mixed with the PHP code. Almost no URL hacking or chopping is needed. The UTF-8 encoding is used exclusively.
The framework exploits PHP 5′s features such as more advanced object model, type hinting and class autoloading. HTTP request, response and session data is accessed via Java servlet-style OO wrappers. The framework has been straightforwardly ported to Java.
It has been successfully used in several small to medium production solutions and is currently used to build a large community-based social website.
QPHP stands for Quick PHP and is a MVC framework similar as architecture to ASP.NET.
I, as the author of the project, have spent the last 8 years working on web projects using various Java frameworks, ASP.NET and PHP. This framework tries to get the best of the above platforms as well as to avoid the problematic parts. Basically it:
- Brings the elegance of Java and C#
- Drops all Perl like bizzare statements that other PHP frameworks use
- Relies extensively on OOP concepts
Code-behind approach is used, so every webpage consists of 2 files:
- .PHP – presentation logic
- .PHP.SCRIPT – business/programming logic
Ambivalence is a Model-View-Controller framework for PHP web development. Based on the Java-based Maverick project, Ambivalence also offers clean MVC separation and an XML sitemap. Ambivalence provides an optional service to authenticate and enforce access controls upon users, based on the JBoss implementation of the J2EE Java Authorization and Authentication Service (JAAS).
Core features include:
- Configuration using an XML sitemap.
- Easily encapsulate variable content within a common layout, look-and-feel, etc.
- Cleanly separate application security logic from application functionality via XML security map.
20. ATK Framework
ATK is a business framework. It is written in PHP, and allows you to build web applications with minimal amounts of code. The only code you write is business logic.
The framework is particularly useful for creating business applications; to manipulate data. CRM, HRM, ERP are all area’s where ATK can be used to build custom applications with minimal effort. Check the demo to see examples.
Canvas is an open-source web application framework built with and for PHP5. Canvas employs the model-view-controller (MVC) design pattern, as well as abstracting database interaction with an object-relational mapping (ORM) model that presents data in a database as real world objects.
Canvas is in active development at Clayton State University’s Office of Information Technology and Services department The HUB. The framework is currently at version 1.1, but has many more releases planned and under way.
The framework was developed out of a need for a simple and common way for the entire department to develop web applications with rapid ease. A great deal of inspiration was pulled from Ruby on Rails and the simplistic beauty it provides the Ruby community. The goal for the design of the system was semantic simplicity and beauty. Agile development methods were employed to enhance the system as much as possible, particularly the “don’t repeat yourself” principle, orthogonality, decoupled design, and others.
The framework uses MySQL as the default relational database engine and Smarty as the default templating system, but is easily modified to use other databases and templating systems.
Chisimba is a Web 2.0 enabled rapid application development framework for creating web applications that are platform independent, browser independent, XHTML compliant, and can use a number of common databases. The framework is written in PHP5 using the model-view-controller paradigm, implemented via a modular architecture. Chisimba has an API that can be used by other applications over the Web, and it is Free Software licensed under the GNU GPL.
23. Orinoco Framework
The Orinoco Framework is an open source, object-oriented, full-stack web framework implemented in PHP and released under the MIT License. The framework follows the Model-View-Controller architecture and implements the Model 2 design paradigm. Like any other MVC frameworks, Orinoco Framework allows developer to create web applications in less codes and easily maintainable modules.
ash.MVC is a simple PHP programming framework proposed by Ash. The basic approach of this framework is to adopt a middle-path approach between faster development cycle, and a robust and scalable application. Moreover, the schemes proposed in the framework stick to the line of simplicity all along.
While encountering this new framework, ash.MVC, one may wonder with various questions, like:
- Do we need a framework at the first place?
- Why do we need another framework when there are numerous ones available?
- Why do we use MVC design pattern for this framework?
All the above questions have been addressed in the FAQs page.
The framework revolves round the concept of MVC design pattern as expected. There are four elements: 1. web browser, 2. Controller, 3. Model, and 4. View. These four elements interact with one another to establish a data-flow that is initiated by HTTP Request from client browser, and is successfully terminated with the receipt of HTTP Response at the client browser.
Studs began simply as a port of Apache’s Jakarta Struts MVC Framework to PHP, though it has turned out to be decidedly more. I started this project to study the internals of J2EE web applications and then to bring these design concepts into the PHP environment. Now it is time the see if the code lives up to this challenge.
Studs Workflow DiagramThe primary goal of this project, apart from being a road tested implementation of the MVC pattern for PHP, is to provide a learning platform for developers looking to give J2EE a try, while at the same time providing a comfortable PHP environment for those people familiar with Java Servlet technology. One way Studs manages this neutral ground is by relying on many of the standard deployment descriptors used in Java Servlets and Struts, including such files as web.xml, struts-config.xml and taglib.tld. By achieving this level of compatibility, existing tools can be leveraged to help develop applications in this environment.
That’s it a total of 25 OpenSource PHP Framework I’ve found. If ever you have any suggestions or addition just leave a comment.