We help IT Professionals succeed at work.

framework and cms

compare contrast a php framework with php content management system

I think they both separate the html files
Comment
Watch Question

Most Valuable Expert 2011
Top Expert 2016
Commented:
A framework is a collection of extensions to the basic PHP functionality.  Some of these extensions might include HTML form generation, data base abstraction, error handling, etc.  Data filtering and standard storage patterns are often found in frameworks, as are auto-loaders.  The most popular is Zend.  You have to be a skilled PHP programmer to use a framework with any hope of success.

A CMS is designed to cover the "soup-to-nuts" implementation of online content.  While you would still have to learn the CMS, in theory, you could learn it without learning PHP.  Popular CMS systems include Wordpress, Joomla and Drupal.

A CMS will separate the presentation from logic layers, so yes. the CMS will separate the HTML files, usually into templates that are independent of the content.  With a framework, it would be the programmer's obligation to separate the HTML files.
Another way to look at it is that the framework is a tool box.  You can build a mansion with it or you can cut your foot off.  (With Zend, for example, I feel like I cut off more feet than I have built houses.) It is up to you to become a carpenter (programmer) to learn how to use the tools and then you can start building.  As Ray said, the framework is a set of functions and capabilities that you can use to build your application.

A CMS is more like a house.  You install it and answer some basic configuration questions and you are ready to "move in."  You may not like the wall paper (style, theme, presentation, etc.) or the number of rooms (functions like blog, news, calendar, etc.) but you have something that works.  If you are a programmer you can remodel your house through adding new features or customizing the theme (new paint or wallpaper.)

They really are two different things.

You can build a CMS with a framework and you can probably steal some components of a CMS to use in other applications but they are different beasts.
Most Valuable Expert 2011
Top Expert 2016

Commented:
@smadeira: Good analogies!
If you are deciding to use a framework or CMS, and you choose a CMS, Drupal has a pretty high learning curve, but it's powerful and has a huge community that will help you if you have questions.

Author

Commented:
thanks