CMS is the abbreviation for "Content Management system", which means "contents management systems". Content Management system is the new favorite of enterprise information construction and e-government, and also a relatively newer market. For content management, the industry does not have a unified definition, different organizations have different understanding. Many people have learned PHP for a long time, but the understanding of PHP framework and CMS is rather vague.
This is actually very important, should be comprehensive and clear understanding, now small make up with everyone to meet.
1: The respective representatives
Frame stands for: thinkphp (TP, and its latest version TP5), Laravel,yii,ci, ...
Cms:content Management System: Content management systems; Representative: Phpcms,dedecms,phpmywind, Empire Cms,ecshop,ecmall,discuz,phpwind
2: Knowledge Difficulty
The framework needs more knowledge, the object-oriented programming ideas to understand deeply, but also to understand the MVC principle, single-entry principle, the principle of the label parsing engine, can flexibly use the framework to develop;
And CMS does not need so advanced knowledge, you know a little bit of PHP syntax, basic things, you can follow the gourd painting scoop using CMS developed a simple project, and the speed is relatively fast (but maintenance will be headache).
CMS for PHP entry level is the most loved one.
3: Scope of application
CMS Application scope is limited, to choose the right, otherwise endless. such as: A certain type of CMS is only suitable for the development of a class of projects, the wrong choice may be re-development. For example, phpcms suitable for the development of the article type of management system, ecshop suitable for the development of the type of mall projects, discuz suitable for the development of forum types of projects; but if you want to use Ecshop to develop the forum, you need to change the place too much, that will go a lot of detours ....
And the framework, because it belongs to the lower level of things, so it can be used to develop any type of project.
In addition, the framework can develop a CMS, but in turn, the CMS will not be used to develop the framework (will cause too low performance).
4: Development Features
In the framework, you may not see a specific controller sub-class file, so based on the development of the framework, the first thing you write the controller files, but also to arrange where to write, these have the framework of their own rules, although you can also flexibly modify the location of the folder, but you have to trouble to find out why.
and CMS and other open source system, these files are to help you write well, location will also help you arrange, you in those ready-made documents to modify the changes are basically OK. You're going to have a lot less things.
5: Flexibility Comparison
Using the framework to develop, you can modify your project module structure, you can add the functions you want, such as: you want to add a travel module in the article system can also; Example: "PHP Sunflower Treasure" Project (www.phpkhbd.com) is a framework developed to easily add any desired functionality.
But the CMS you want to do this interspersed function intersection is more troublesome.
6: Speed Comparison
Use the framework to develop, the development time is slow, but the subsequent changes are flexible, at the same time the speed will quickly, encountered problems can immediately know where, it is "one step, sharply".
With the CMS to develop: the development of the time, but the subsequent modifications, especially when adding functional modules, is not flexible enough, will cause slow, or even unlikely to be achieved.
For example: You use the framework to develop projects, development may take 2 months, but you follow up the upgrade project, add what features may be as long as 1 weeks. And you use CMS to develop, the development project on-line may only be 3 weeks, but you upgrade features, add new functional modules, may also be 3 weeks or more, there may be no implementation, or imposed on the module performance and even the overall system performance greatly reduced. And every time the upgrade is done.
So, what to choose, you should be clear: if you want to do a long-term update of the project, then use the framework to develop is the best choice.
Finally, a metaphor is used to sum up: building a house
Use the framework to develop the project, the equivalent of you will rise the house;
But what you have to do is to start from here: You have to hit the house footings (footings to dig a few meters you want to calculate good), the house has a few pillars prop up you want to calculate the endurance, each floor several rooms you also want to calculate well, each room how layout also want you to do. These are done, and then you come to install the windows, paint the walls, put on the wallpaper ...
Use CMS to develop the project, the equivalent of you will only decorate the house;
As for how deep the house footings, the house is a few floors, each floor of the room pattern, glass installation window you can not control. But the things you have to do are also very convenient: all you have to do is install the glass in the place where you can install the glass (but you can't change whether the window is going east or west, because it's decided by the person who built the house), the white or red wall, the wallpaper (the beautiful or the forest type, you decide) .....
These two results who are good and who is bad, depends on your interests and hobbies. If you are a person with personality, you may be advocating the ability to build a house, if you are more lazy people, you may be advocating those as long as the decoration of the house let you decorate and go in live.
In particular, if the building of a problem, such as you want to create a floor 4 rooms to 5 rooms, it is only the ability to create a house to rebuild the house, simple decoration workers do not have the right. Framework development is the right to transform a house ...
And if you still decorate the house more simple work, such as only to write templates, only sets of templates, then you are equivalent to the computer table to the boss ready, you just on the computer desk how to put your computer, mouse, keyboard only, the kind of "fully furnished, direct bag stay hotel" is the best representative ...
Summary: About PHP and CMS has been introduced almost, from which we know that the combination of PHP framework will make CMS development more simple, shorten the time, I hope this article can help everyone.