Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A Guide to PHP Frameworks

DZone's Guide to

A Guide to PHP Frameworks

· Web Dev Zone
Free Resource

Learn how to build modern digital experience apps with Crafter CMS. Download this eBook now. Brought to you in partnership with Crafter Software

The proliferation of PHP frameworks has led to some confusion over the last couple of years and more than a few flame wars.  The purpose of this guide is to try and clear up some of the confusion and provide a proper listing of some defining features in the most popular PHP frameworks.  If you would like any additions or revisions, post a comment with some supporting links and the list can be modified.  We want this to be a useful DZone community resource.  Common features between all of these frameworks have been omitted (for example, all of these frameworks are MVC-based)

Zend Framework

  • Represents an extended set of PHP libraries that can be integrated and used with most of the offered PHP frameworks.
  • Slight Learning Curve
  • Simple, extendible CRUD creation
  • Optional MVC and flexible conventions
  • Configuration: PHP Array, XML, or INI files
  • Perhaps the most popular PHP framework available
  • Supports PHP 5

CodeIgniter

  • Offers query builders and database manipulation classes, but has no built-in ORM support
  • No PEAR packages or server modifications required
  • Installed by uploading files to a directory
  • Large community plus extensive documentation and tutorials
  • Easier to extend and understand than some of the more elaborate frameworks
  • Built-in template engine
  • Supports PHP 4 and 5 (Maintaining PHP 4 support has its pros and its cons)

CakePHP

  • Expansive built-in libraries including helpers for generating RSS feeds and HTML elements
  • Easy CRUD database interaction
  • Heavier than CodeIgniter and Kohana.
  • A more strict and structured approach to MVC and naming conventions
  • Little to no configuration required to run
  • Supports PHP 4 and 5

Symfony

  • Full-stack framework
  • Uses the command-line to run configuration commands and create applications
  • Steeper learning curve than some frameworks
  • Good AJAX and JavaScript helpers
  • Supports PHP 5

Yii

  • Intended for developing large-scale Web applications
  • Written in strict OOP
  • Has built-in support for both authentication and authorization.
  • Claims to have very high performance
  • Complex syntax for declaring model relationships, but with powerful features including named scope
  • No built-in unit testing support
  • SOAP support
  • Has jQuery bundled; jQuery-based AJAX support
  • Supports PHP 5

Kohana

  • Fork of CodeIgniter
  • No dependencies on PECL extensions or PEAR libraries
  • Has a cascading file system
  • Built in-template engine
  • No unit testing support
  • Has built-in Auth module and a number of third-party Auth and ACL libraries
  • Supports PHP 5

Akelos

  • Multilingual models and views
  • Dojo Rich Text Editor
  • Automated locale management
  • Clean separation from HTML and Javascript using CSS event selectors
  • Built in-template engine
  • Supports PHP 4 and 5

PRADO

  • Component-based and event-driven programming framework
  • Components are a combination of a specification file (in XML), an HTML template, and a PHP class.
  • PRADO components are highly reusable
  • Built in-template engine
  • Supports PHP 5

ZooP

  • Features GuiControls (a PHP implementation of .Net’s webcontrols)
  • Smarty-based view layer and templating system
  • SMTP template-based email sending
  • Built in-template engine
  • Supports PHP 4 and 5

Crafter is a modern CMS platform for building modern websites and content-rich digital experiences. Download this eBook now. Brought to you in partnership with Crafter Software.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}