Web Application Component Toolkit

PHP MVC Frameworks

PHP MVC frameworks provide a structured way to build web applications using the Model View Controller pattern. They typically separate application logic, data handling, and presentation so that larger applications can be easier to organize and maintain.

This page lists PHP frameworks associated with MVC and related application architecture patterns. The collection reflects the wide range of approaches that have been used to develop web applications with PHP, including traditional MVC frameworks, component-based frameworks, and frameworks influenced by other development platforms.

Learn more about web applications and the patterns used to structure them.

MVC Frameworks Written in PHP

Frameworks for implementing the Model View Controller pattern in PHP

FrameworkPHP 4PHP 5Modeled afterNotes
Web Application Component Toolkit---You are on the WACT web site.
Agile ToolkitNoYesAModules2Agile Toolkit is a high-performance PHP framework for UI development with jQuery. High levels of efficiency are achieved by seamless and secure integration of database and UI. It has proper MVC implementation, support for multiple APIs and various add-ons are available. Fully OOP design makes it very good choice for writing serious applications. Most importantly - it's been stable since 2006 February and heavily used in commercial and free applications.
Achievo ATKYesYes--
Akelos PHP FrameworkYesYesRuby on RailsA Ruby on Rails port to PHP. Additionally supports multilingual models and views, url rewriting, database migrations, interactive console, Pure PHP support for Unicode, Code Generators, Built in XHTML validator, Automated locale management, Ajax file uploads...
Alloy HMVC PHP FrameworkNoYesPylons, Ruby on RailsPHP 5.3+ Hierarchical MVC Framework with a modular organization. Alloy is a next-generation PHP 5.3 framework that is lightweight, fast, and has a REST-centered architecture through URL routing down to the individual controllers.
Ambivalence--Maverick-
Aukyla PHP Framework---Nice ideas: Local URI's (stream wrappers) and OpenDocument file handling. Released under a dual GPL/Commercial license.
Binarycloud----
Biscuit--Ruby on RailsSimilar to Cake only using much more procedural code (rather than OO). BSD licensed.
bitweaverYesYes-bitweaver is a highly modular application framework for content management. It is a fully functional web application and feature rich CMS. It is truly open source, community driven, object oriented, and written in PHP. It uses Smarty Templates and ADOdb to support many databases including Postgres, Firebird, Oracle, and MySQL.
Caffeine Web FrameworkNoYes-Lightweight framework that uses whitebox approach to coding. Features pure-PHP templates and config files, as well as usable ORM implemented in just 2 classes. Quite simple (for the most part). BSD licensed.
CakeYesYesRuby on RailsA Ruby on Rails like framework for PHP. MIT licensed.
Castor----
Cgiapp--CGI::ApplicationCgiapp is a port of the perl library CGI::Application. Instead of providing a full MVC framework, it provides a framework for creating controller classes that have templating hooks. The default template engine used is Smarty, but users have used Savant with it successfully.
CodeIgniterYesYesRoRSmall framework, but very promising
CopixYesYes--
Core Enterprise PHP---Core Enterprise PHP (CEP) is a modular application framework designed to allow rapid application development of large application mande up of re-usable components.
crVCL PHP FrameworkYesYesJEDI VCLcrVCL PHP Framework (crVCL) provide classes and function for develop easy and fast web applications/webpages with graphical components. It give you more comfort in developing web applications with high usability, Rapid Application Development for PHP with full MVC Support.
FastFrame----
EZ PublishYes---
FuseboxYesYesPorted from ColdFusionAn extremely popular framework in the ColdFusion community, ported to PHP some time ago and actively supported in both languages.
FuseLogic----
HaloNoYesSpringFrameworkPHP5 MVC framework built on top of Substrate, a PHP IoC/DI Container. Leverages the IoC/DI Container for Controller configuration. New BSD License.
KohanaNoYesCodeIgniter-
KonstruktNoYesHTTPFocuses narrowly on the controller-layer.
KumbiaNoYes-Spanish Framework MVC Full Support and other patterns
Krysalis--Cocoon-
InekNoYesJava Struts from a PHP PerspectiveInek Framework is designed around PEAR, using HTML_Quickform, DB, Config, Log and Smarty
InnomaticNoYes-Innomatic is an open source PHP platform for building multi-tenant web applications. It is especially useful for building SaaS platforms and services, however it also features a single-tenant mode as an enterprise applications platform.
InterJinnYesYes--
Ismo----
JelixNoYes-highly extensible and modular PHP 5.2 MVC framework designed for huge loaded web site, with cool features like an ORM, a light-weight template engine, a powerful form system, ACL, authentification, Ajax & web services supports etc.
KolibriNoYesApache Struts, DjangoKolibri values flexibility with sane defaults over forced convention, simplicity over complexity, loose coupling over forced inheritance. For instance, Kolibri doesn't promote a single templating system, but instead includes support for both XSLT, Smarty and regular PHP templates by default.
Limb PHP Web Application Framework-Yes-PHP Web Application Framework
Limonade-YesSinatra, Camping, OrbitLimonade is a PHP micro framework for rapid web development and prototyping. It aims to be simple, lightweight and extremly flexible. Unlike many others PHP frameworks, it is written in a procedural programming way, providing a short set of functions that complete the PHP API. MIT licensed.
LogiCreate----
Medusa----
Mocovi-Yes-MVC-bases Web Framework which uses XML files to produce its output. Model is written in XML, Controllers in PHP5 and the View in XSLT. It is multilingual and capable of serving multi-domains.
Mojavi-Yes--
NavigatorYesYes-PHP4/PHP5 MVC framework which uses "Inversion of Control" pattern. This framework is attended to provide maximal flexibility for developers.
NanoMVCYesYesRoR, CakePHP, GrailsA PHP5 framework for quickly building complex web applications that are easy to refactor and scale well against ever-changing customer requirements.
NetteNoYesMVPNette is a powerful, component-based and event-driven framework for creating web applications and services in PHP 5. Nette Framework is designed with simplicity in mind. Nette can be used with classes from Zend Framework.
NexistaNoYes-Nexista is an Open Source php/xml/xslt based development framework for building robust and scalable web applications. Focus is on applying REST philosophies to application APIs.
P4A-YesMVCPHP 4 Applications (P4A) is a PHP RAD and object oriented PHP framework for building event-driven stateful web applications. It features tableless HTML, accesskey support, auto data type recognition, transparent AJAX, UTF-8, i18n/l10n, PEAR integration. PHP4 support is being phased out.
PHP on TraxYesYesRuby on RailsA True Ruby on Rails framework clone for PHP (PHP5 and PHP4).
PHP WorkYesYesASP.NET-like, Code behind approachObject oriented, event driven, component based, with AJAX and I18N support. Very good documentation and plenty of examples.
phpDrone-Yes-phpDrone is a open-source PHP framework for php5 or higher that incorporates a lot of features that will help PHP programmers in the process of web development.
PHPulseNoYes-Fast templating MVC framework which handle the minutia of front end development such as form processing, HTML generation and templating thus leaving the developer to only worry about developing the application. Built-in templating engine, modular development and the fastest pageload time of any web framework.
PhpMVC--Java Struts from a PHP Perspective-
phpPeanutsYesYes-Dynamic Scaffolding Application Framework. It doesn't do just CRUD, relations and searching are also scaffolded (user interface and ORM). Favors default reasoning and the 'once and only once' principle. Adapts dynamically to changes in meta data.
Phrame--Java Struts from a PHP Perspective-
Popoon--Cocoon-
PradoNoYes.NET, DelphiPRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5.
ProntoYesYes-A general-purpose framework consisting of several loosely-coupled layers for rapid web development.
Qcodo-Yes-A code generation-based framework for PHP5. Generates your object relational model (CRUD objects) as WELL as simple CRUD-based pages which can be extended/customized. Code can be regenerated without destroying customizations. Presented at MySQL User's Conference as well as the Zend/PHP conference in 2005.
rwfphp---PHP Reusable Web Framework - rwfphp for short. Basic framework to create bigger framework/custom apps with.
Samstyle PHP FrameworkYesYes-Samstyle PHP Framework is a faster, lighter, and ever greater PHP framework that is prepared for the Web 3.0. It has the set of tools, functions and methods ready for web development. Be it email validation, template handling, error management, flexibility, content management, or speed, it is far superior. The project aims to develop a fast, greatly optimized, scalable and easy-to-understand framework for PHP.
Sapphire / SilverStripeNoYesRoR and CMS systemsRequires PHP5.2 to provide allow for object-oriented language features found in Ruby and Python, has SilverStripe CMS on top, providing Web2.0 style admin system built to manage basic and complex websites effectively, and has out of the box modules (shop, forum, blog, etc). A few months after launch, it was included in Google Summer of Code and voted a finalist in PacktPub Open Source CMS Awards.
SeagullYesYesbest practicesConcise OOP framework, builds on PHP's strengths, integrated with PEAR libraries, 10+ CMS modules included, includes tools for deploying and maintaining apps
Sitellite----
SolarPHP-Yes-A PHP5 Web Framework. MVC-based.
sQeletor---(A PhpMVC extension, It has not yet its own web, but you can download the source code and API)
Studs--Java Struts from a PHP Perspective-
struts4phpYesYesJava Struts from a PHP Perspectivestruts4php is an application framework for PHP which is designed with the MVC pattern. It implements only the controller and lets the developer decide how to implement the model and the view.
SwiftletNoYes-Lightweight and very extensible. GPL licensed.
symfonyNoYesMojavi, Propel, Ruby on Railsjust another php5 framework? Probably not. It takes the best of Mojavi, Propel and Rails, adds some more and packages it all into an integrated framework. MIT licensed.
TaniPHP--Ruby on RailsPHP MVC Ruby on Rails like framework for PHP. LGPL licensed.
Thin PHP Framework-YesJava, MVCan optimized, lightweight and flexible open source PHP5 MVC framework (around 50K excluded Smarty lib). It is designed for web developers who don't want many dependencies in their new projects.
TigermouseNoYesActiveRecord, TableGatewayLGPL licensed PHP/AJAX framework for development highly interactive web applications. It is designed to build large web applications rather than just web pages. With Tigermouse you are not forced to write JavaScript.
web.frameworkNoYes-web.framework is an MVC framework for PHP5. It features actions and action-chains, the ability to call to other actions or action-chains from an action-chain, pre- and post-actions with exceptions, validators for simple check forms, support for DB configuration in framework configuration, support for template systems (such as web.template and Smarty), a router for making URLs nice-looking, tokens, authorization frames, AJAX, clinet-side validation and many more.
Wolfden CMF----
XatafaceYesYes-Quick form generation, relationship management, smarty templates, MVC. Get an Admin section of your website up in minutes. Similar to Django
Yellow Duck Framework-Yes-An object oriented framework for PHP web application. Include Ajax forms construction and validation, easy files and images handling, dblayer, XML/RPC clients and servers, syndicated XML feeds such as RSS and Atom. Small community but impressive demo available at deployment.
Zend FrameworkNoYes-PHP5-MVC-Framework with a lot of extensions like PDF, Mail, ...
Zephyr Framework-Yes-Ajax based MVC framework for PHP5 developers. You can easily develop ajax applications with business layer within minutes.
ZNF-Yes-PHP5 MVC framework for enterprise web applications
Zoop FrameworkYesYes-The most unique of all PHP frameworks, Zoop features GuiControls (a PHP implementation of .net's webcontrols), AJAX support and integration, automatic form validation and creation (including db integration), a Smarty templating system, PDF creation, session handling, and SMTP template-based email sending.
CatalyzerNoYes-A framework for PHP based on CodeIgniter

MVC Frameworks and Web Application Development

MVC became popular because web applications often contain several different responsibilities that need to work together. A typical application may receive a request, perform application logic, retrieve or update data, and generate a response for the user.

Separating these responsibilities into models, views, and controllers can make the structure of an application easier to understand. The exact implementation varies between frameworks, but the underlying idea of separating application responsibilities remains relevant to web development.

Modern web applications may use different programming languages, frameworks, APIs, and client-side technologies. As more application features are performed directly in the browser, the relationship between server-side frameworks and browser-based applications has also become an important part of modern web development.

Explore the broader concept of web applications.