0

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

2
  • It still isn't quite clear enough for me, sorry guys. I think what I am confused about is that I am trying to make my own framework and I want to possibly add a plugin system and a web editor but I am thinking that will then make it a CMS instead of a framework. Is that correct? Commented Jan 12, 2010 at 16:12
  • Instead of trying to make a product to fit a term, why not make a product that solves a problem and solves it well? Who cares what it's called? Inevitably the best software solves problems that are either unsolved or not solved well, and often this means blurring the lines of what "kind" of software it is. Commented Jan 12, 2010 at 16:15

4 Answers 4

10

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).

Sign up to request clarification or add additional context in comments.

3 Comments

Mr-sk is correct. Examples are Joomla, is a PHP based CMS. Where as Zend Framework or CakePHP are Frameworks for building CMS's.
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).
ans some more free CMS'es: Drupal, eZPublish, Wordpress (yes I consider that as a CMS)
5

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!

Comments

0

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.

Comments

0

A content management system is used to manage content. The content can be differentiated according to types, like custom post types for WordPress. You can create a CMS using a framework or code from scratch.

A framework can be thought of as collection of packages to speed up development (compared to coding from scratch).

Now, you mentioned that you want to make your own framework. You can create a framework from scratch, or use open source means, like Composer or Symfony components, to build your framework. Just remember that as a developer, you are responsible for making sure that any open source components you include in your system has been reviewed for security. You can do line-by-line review, which can be difficult (e.g. 5,000+ files on a lumen installation), or any other means based on established protocols of your organization or laws.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.