You are here

MVC Frameworks Written in PHP

Blog Terms: 

MVC Frameworks Written in PHP

Frameworks for implementing the Model View Controller pattern in PHP

Framework PHP 4 PHP 5 Modeled after Notes
Web Application Component Toolkit - - - You are on the WACT web site.
LIMB - - - A content management framework using WACT
eZ Publish Yes - - -
LogiCreate - - - -
Mojavi - Yes - -
Navigator Yes Yes - PHP4/PHP5 MVC framework which uses “Inversion of Control” pattern. This framework is attended to provide maximal flexibility for developers.
Phrame - - Struts -
ZNF - Yes - PHP5 MVC framework for enterprise web applications
Achievo ATK Yes Yes - -
Akelos Framework Yes Yes Ruby on Rails A 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... feature list
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 Rails Similar to Cake only using much more procedural code (rather than OO). BSD licensed.
bitweaver Yes Yes - 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.
Booby - - - -
Cake Yes Yes Ruby on Rails A Ruby on Rails like framework for PHP. MIT licensed.
Castor - - - -
Cgiapp - - CGI::Application Cgiapp 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.
CodeIgniter Yes Yes RoR Small framework, but very promising
Copix - - - -
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.
FastFrame - - - -
FuseLogic - - - -
Konstrukt No Yes HTTP Focuses narrowly on the controller-layer.
Krysalis - - Cocoon -
Inek No Yes Struts Inek Framework is designed around PEAR, using HTML_Quickform, DB, Config, Log and Smarty
InterJinn - - - -
Ismo - - - -
Medusa - - - -
PHP on Trax Yes Yes Ruby on Rails A True Ruby on Rails framework clone for PHP (PHP5 and PHP4).
PhpMVC - - Struts -
Popoon - - Cocoon -
Prado No Yes .NET, Delphi PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5.
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.
Seagull Yes Yes best practices Concise 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 - - Struts -
struts4php Yes Yes Struts struts4php 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.
symfony No Yes Mojavi, Propel, Ruby on Rails just 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 Rails PHP MVC Ruby on Rails like framework for PHP. LGPL licensed.
Tigermouse No Yes ActiveRecord, more to come LGPL licensed PHP/AJAX framework for development of 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.framework No Yes - 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 - - - -
Zephyr Framework - Yes - Ajax based MVC framework for PHP5 developers. You can easily develop ajax applications with business layer within minutes.
Zoop Framework - - - 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.


If we use the MVC framework will it be back to square one for this sort of thing, or will some appropriate goodness be provided for those of us who think life's too short for all that? I don't want to go back to rebuilding the taps every time I have a shower. Metaphorically speaking. Note that the MVC framework doesn't replace the existing Web Forms model - that will obviously continue to be fully supported and enhanced search engine marketing. So if you prefer the control postback interaction I'd probably recommend staying with that, and use a MVP based model for testability.The MVC model does give you more control over the HTML that is rendered. As you noted above, this is both a good and bad thing (good in that you have more control, bad in that with more control you also need to take care of more things). We do provide a nice way to handle errors and maintain form state, so you don't have voip to write ugly code to handle that. The server control model also provides a clean way to encapsulate view-helper functionality in a nice way for your UI, and there will be a rich set of controls built-up to help with this.