Agni Website Building Academy Documentation If you have the time and skills to write your own content management system, then this is probably the best option. We will now teach you step by step to build your own PHP content management system (CMS).
Peter Zeidman Translated by: Mint Li
If you want to build a website, then you probably want a content management system (CMS) - a tool that makes your website articles clear at a glance. I rarely mentioned these in previous articles, but many commercial websites have only one choice: writing a system that suits them.
Why? It seems that the system I wrote lacks stability. On the contrary, systems written by hundreds of people run successfully on thousands of websites. But once something goes wrong, it's very difficult to figure out where the problem lies. If you want to customize or modify it yourself, you will be faced with huge code and unclear documentation.
Write your own CMS. On the other hand, you will find the solution that best suits your needs, the needs of your users, and find out the problems of your development team. This is your best option if you have the time and energy to write it yourself. That's why I keep saying it.
We will use PHP to write it because it is a very good web-based development language. Mysql will also be used as the backend database, and the system will also support other databases, such as PostgreSQL and SQLServer.
So what will our system do? The first and most important point is that it allows the content on a large number of websites to be easily collected into its own database. Of course, a successful site also includes many other important features, such as user authentication and file management.
Plan your CMS
First of all, we need to plan what functions our system needs to implement. In future articles, I will use examples to illustrate some of the main tools and components that make your system more complete.
The first step is to write a basic requirement for your CMS. Obviously, this needs to be based on your needs.
Content management: The most important function of the system must save content such as documents and news in the database, and then display the requests issued by the user. Convenient interface for editing, adding, deleting and modifying.
User Authentication: We may want to restrict access to certain sites. Obviously we need an administrator who can add, edit and modify content anywhere. You may only want to allow certain people or departments to access your site.
Page style/template: The entire system should give people a unified style, which requires separating business processing and interface, which requires separating content from display style.
Object-oriented OOP
php supports OOP. When we organize our system, we will find that a large amount of code will be used repeatedly, such as connecting to the database, user authentication, etc. To keep the code neat and beautiful, we call them all in classes files. We instantiate the object when needed. So the idea of classes can be used in many situations.
For example, we can create a class that connects to the database. When we need to query the database, we instantiate this class. It doesn’t matter if you are not very clear about this concept. When we start our code, you will More and more understanding. This method can divide very complex systems into small and simple modules and make things simple and easy to manage, modify and find errors.
Now let’s consider how to organize the system effectively. Of course, this is all related to your own needs. The following picture is a basic idea:
We have four main modules that are heavily used in the system. They are database access, user uploaded files, template reading and writing, and user login and logout. All classes inherit from the systemObject class.
Although they are placed in the systemObject class, these four classes are independent. This hierarchical approach allows us to change all four subclasses by modifying the systemObject parent class. Additionally, this concept will become clearer when we start with concrete examples. In the above diagram is a basic management system, each function requires one or more pages to implement.