PHP Framework vs Content Management System

2019-03-12 08:48发布

问题:

How would you explain the difference between a PHP Framework and a CMS (like Wordpress) to someone who is very technically savvy, mostly on hardware/networking, but does little or no programming?

As an amateur-to-intermediate programmer myself, I could try to answer these questions but I'd value the input of those who are more experienced with frameworks and CMS.

回答1:

You can check out this slide to know the difference:

  • PHP-CMS-vs-Frameworks

To put it in simple words, a CMS provides you with a back-end (with a host of plugins and components) like Joomla, Drupal, WordPress, etc so that you can manage front-end where as a frameworks doesn't. A framework such as CodeIgniter, Kohana, CakePHP, Symphony, etc provides you with ready-made classes and libraries BUT you have to use them and build your site yourself.



回答2:

You can build a CMS with a framework, but you cannot build a framework with a CMS.

A CMS is just that - a Content Management System.

A framework is a collection of libraries to build an application.



回答3:

Framework = Library CMS = System

A framework doesn't "give" you anything, it's just a skeleton. A cms will give you a functional site, and it's just a matter of themeing and adding content.



回答4:

A framework is just that.. something that you can combine pieces of to build an application.

A CMS is an application, that may or may not have been built on top of a framework.



回答5:

frameworks create very good presentable web applications,whereas cms could be fast but can't create as presentable quality as frameworks can.



回答6:

I think this article:

A Framework or a CMS? What is better to choose?

explains the difference between a CMS and a framework. Furthermore you can see 3 examples of where to use a CMS or framework and why. Also if you read the comments below the article, you can see pretty interesting discussions about CMS and Frameworks as well.



回答7:

I've been working for years as a JOOMLA developer. You can do anything with all the most known content management systems(CMS).

MVC is the pattern there too. You can develop your own components, if you need something special.

Furthermore, you do not need to focus on developing common tasks, such as user management, Facebook co-operation, e.t.c.

Why reinvent the wheel? Anything that has been build before, can be bought or even downloaded for free from the repositories. There are so many components out there.

As for appearance, there are 1000s ready made templates that you can get and speed up your development and lower your cost.