views:

131

answers:

3

Hey everyone,

What is the difference between a PHP framework and a CMS? It just unclear to me what the difference is.

Thanks!

+8  A: 

CMS = Content Management System.

Framework = Collection of tools, source code, methodology and idioms.

You can build a CMS with a PHP Framework, but you can't build a PHP Framework with a CMS. Also, a CMS doesn't have to be built in PHP, but a PHP framework will be (most often).

Mr-sk
Mr-sk is correct. Examples are Joomla, is a PHP based CMS. Where as Zend Framework or CakePHP are Frameworks for building CMS's.
bkoch
To be fair, the line does blur. ExpressionEngine is a CMS, but it's also a framework (and with version 2.0, will be the flagship CodeIgniter product). Which isn't to say that it isn't a CMS built on top of a framework, but rather that it has, even as a CMS, framework qualities and aims to be a development platform as much as (if not more than) a publishing platform. It might, in this case, make more sense to distinguish between "high-level" and "low-level" frameworks (EE being the former and CI being the latter).
eyelidlessness
ans some more free CMS'es: Drupal, eZPublish, Wordpress (yes I consider that as a CMS)
Steven
+4  A: 

A framework helps you create applications by providing solutions for common tasks, but a cms is an application. You can use a framework to create a cms.

There are also a few cms'es claimin to also be frameworks (or have framework capabilities):

If you haved worked with one of the typical frameworks (CodeIgniter, CakePhp, and others), there are for sure quite different to work with a cms like Modx or Drupal, but they are flexible cms'es that are fearily easy to extend with new features!

code-zoop
A: 

A Framework is something designed to help programmers build applications, and possibly CMSes. examples are CakePHP, CodeIgniter, and Kohana.

a CMS can be used by someone with no real programming expierience. examples are WordPress, Joomla, and Drupal.

GSto