What is the difference between a PHP framework and a CMS? It just unclear to me what the difference is.
-
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?cskwrd– cskwrd2010-01-12 16:12:32 +00:00Commented 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.eyelidlessness– eyelidlessness2010-01-12 16:15:21 +00:00Commented Jan 12, 2010 at 16:15
4 Answers
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).
3 Comments
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
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.