Home Backend Development PHP Tutorial The relationship between PHP framework and CMS

The relationship between PHP framework and CMS

Nov 14, 2017 am 11:31 AM
php

CMS is the abbreviation of "Content Management System", which means "content management system". Content management system is the new favorite in enterprise information construction and e-government, and it is also a relatively new market. For content management, the industry does not yet have a unified definition, and different organizations have different understandings. Many people have studied PHP for a long time, but their understanding of PHP framework and CMS is relatively vague.

This is actually very important and should be understood comprehensively and clearly. Now the editor will go and understand it with everyone.

1: Respective representatives

Framework representatives: ThinkPHP (referred to as TP, and its latest version TP5), Laravel, YII, CI,...

CMS: Content Management System: Content management system; representatives include: PHPCMS, dedecms, phpMyWind, Empire CMS, Ecshop, ECMall, Discuz, PHPWind

2: Knowledge difficulty

The framework requires a relatively high level of knowledge. It requires a deep understanding of object-oriented programming ideas, as well as a deep understanding of MVC principles, single entry principles, and tag parsing engine principles. Only then can the framework be used flexibly for development; so it I am a person who is adaptable to a relatively comprehensive foundation of PHP;

CMS does not require such advanced knowledge. If you know a little bit of PHP syntax and basic things, you can use CMS to develop a simple project. And it’s relatively fast (but it’s a headache to maintain).

CMS is the favorite for entry-level PHP users.

3: Application Scope

CMS has limited application scope, so you must choose the right one, otherwise there will be endless troubles. For example: a certain type of CMS is only suitable for developing one type of project. If you choose the wrong one, you may have to develop it again. For example, PHPCMS is suitable for developing article-type management systems, Ecshop is suitable for developing city-type projects, and Discuz is suitable for developing forum-type projects; but if you want to use Ecshop to develop forums, there are too many things that need to be changed, and there will be a lot of trouble. Detour....

And the framework, because it is a lower-level thing, can be used to develop any type of project.

In addition, the framework can also develop CMS, but conversely, CMS cannot be used to develop the framework (which will cause the performance to be too low).

4: Development features

In the framework, you may not see a specific controller subclass file, so for framework-based development, you must first do it yourself When writing controller files, you also need to arrange where to write them. These have the framework's own rules. Although you can flexibly modify the location of the folder, you have to find out why.

In open source systems such as CMS, these files are written for you, and the locations are arranged for you. You can basically modify the ready-made files. You'll have a lot less to do.

5: Comparison of flexibility

Use a framework to develop, you can modify your project module structure at will, and add the functions you want at will, such as: you You can also add a tourism module to the article system; for example: the "PHP Sunflower Collection" project (www.phpkhbd.com) is developed using a framework, and you can easily add any desired functions.

But if you want to achieve this intersection of interleaving functions in CMS, it will be more troublesome.

6: Speed ​​comparison

Using a framework to develop, the development speed is slow, but subsequent modifications are flexible, and the speed will be very fast. If you encounter problems, you can immediately know where you are. , it can be said to be "one step to the point, hit the nail on the head."

Use CMS to develop: It is fast during development, but subsequent modifications, especially when adding functional modules, are not flexible enough, which will cause the speed to be very slow and even impossible to implement.

For example: a project you develop using a framework may take 2 months to develop, but when you subsequently upgrade the project, it may only take 1 week to add some functionality. If you use CMS to develop, it may only take 3 weeks for the development project to go online. However, if you upgrade functions and add new functional modules, it may take 3 weeks or more. It may not be implemented, or if it is imposed, it will affect the performance of the module. Even the performance of the entire system is greatly reduced. And this happens every time I upgrade.

So, you should be clear about how to choose: If you want to make a long-term updated project, then using a framework to develop is the best choice.

Finally, let’s use a metaphor to summarize: building a house

Using a framework to develop a project is equivalent to knowing how to build a house;

But what you have to do starts here Do: You need to lay the foundation for the house first (you need to calculate how many meters you need to dig for the footing), how many pillars the house has to support it, and how many rooms it can support. You also need to calculate how many rooms are built on each floor. It’s up to you to decide how to lay out the room. All these are done, and then you install the windows, paint the walls, and paste the wallpaper...

Using CMS to develop projects is equivalent to you only decorating the house;

As for the house You can't control how deep the foundation is, how many floors the house is on, the layout of rooms on each floor, or the installation of glass windows. But what you have to do is also very trouble-free: all you have to do is install what brand of glass where glass can be installed (but you cannot modify whether the window opens to the east or west, because this is the person who built the house. (decided), paint the walls white or red, and paste wallpaper with any content (beauty type or forest type, it’s up to you)...

Which of these two results is better and who is not? It depends on your interests and hobbies. If you are a person with personality, you may admire the ability to build a house. If you are a lazy person, you may admire those houses that only need to be renovated for you to move in and live in.

Special note: If there is a problem with the creation of the house, for example, if you want to change the creation of 4 rooms on one floor to 5 rooms, then only someone with the ability to create a house can remodel the house. , simple decoration workers have no rights. Framework development means having the right to renovate a house...

And if you are still doing simpler work in decorating a house, such as only writing templates and only applying templates, then you are equivalent to having a boss even at your computer desk. Be prepared, you just need to place your computer, mouse, and keyboard on the computer desk. That kind of "fully furnished, check-in hotel" is the best representative...

Summary: We have almost introduced PHP and cms. From this we know that the combination of PHP framework will make cms development easier and shorten the time. I hope this article can help everyone.

Related recommendations:

What are the most recommended open source PHP CMS systems?

20 of the most well-known open source PHP CMS

php cms portal template

The above is the detailed content of The relationship between PHP framework and CMS. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1662
14
PHP Tutorial
1262
29
C# Tutorial
1235
24
How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

See all articles