Home >CMS Tutorial >Empire CMS >What is the difference between phpcms and empirecms?
First of all, let’s list for everyone what aspects should be taken into consideration when choosing cms
1) Is the program safe? Stable, will there be frequent BUG
2) The program is not easy to use
3) Is the static speed generated by the program fast enough?
4) Are there many program templates, are the templates well made, and are the tags easy to use?
5) Is the program load capacity strong?
6) Are there many program modules? If so, are there any? Real estate module, whether there is a yellow pages module, classified information module, question and answer module, etc.
## 7) Is the secondary development of the program flexible
Those who are good at or like secondary development will first consider the flexibility of secondary development and whether the module is suitable for them; while ordinary users will consider more about whether the program is easy to use and whether the template tags are simple. It’s not simple, so the focus of CMS selection is basically focused on two aspects: the flexibility of secondary development and the ease of use of template tags. 1. From the perspective of secondary development:
PHPCMS(2008 version)
is more of a development framework, which is too far away from a mature product. I have used PHPCMS secondary development to build five or six platforms. From the newly released PHPCMS2008 version , and the current PHPCMS2008 sp4 version (pcv9 will not be evaluated. I did a lot of testing in the early development stage and gave some feedback, but I have not used the official version). Every time I encounter the same problem, I always curse. Low-level errors have been modified as they go, and the official development has now been stopped. Many bugs from the time of release still exist. Despite this, PHPCMS is still the preferred CMS. The reason is that it is very flexible. You can change it as you want, and you can do it as soon as you think of it. In my opinion, PHPCMS represents an extreme, that is, if secondary development is the first consideration, then PHPCMS is a good choice. If you want to read any data in PHPCMS, you only need to write a SQL, and then call it with the GET tag in the template. If you feel that the processing in the template is not enough, then you only need to add the corresponding Just do some processing in the PHP file with the same name. Even, you only need to reference the common.php file in the header, call the template reference function to reference the template, and then create an HTML file with the same name as a template, you can achieve many desired functions based on PHPCMS.
Empire CMS, although the official slogan can be done just by thinking of it , but judging from my modification of some simple functional requirements and plug-in development of the Empire CMS, the Empire CMS is too far away from what I thought. It is limited by the Empire's development ideas. Even some functions are very small. It also requires a major overhaul of the empire's core processes. Take a simple requirement "I want to get the page number of the content page to achieve different displays according to different paginations." I won't talk about this requirement later. In terms of simply getting the page number of the content page, it is almost impossible. Maybe, why? First, it does not have this tag, nor does it provide variables. Many people in the forum mentioned this need, but it has never been able to be solved; second, the template tag parsing method of the Empire is the old Dongyi thinking that is the program. First process the result of each tag, including the HTML, then read out the template stored in the database, and replace the tags inside one by one. Basically, every tag on the content page has gone through a specialized To implement the processing, the degree of coupling is too high, and most of the code cannot be used universally. (Nowadays, mainstream template engines first parse and compile tags, and then cache them. The tags have become executable PHP programs. Then, after the program processes the data, it directly calls the template cache and executes it. Tags are all processed in a unified way. , with strong versatility.) And precisely because each label is well packaged and completed, it is very simple and stable to use. As long as you follow the prompts and put it in, there will be no problem, so the empire is safe. The performance, stability and ease of use are very good. For example, I have a friend who uses Empire CMS to create a boutique story website (http://www.pmume.com). He wants to realize the pagination title of the content page as shown below. navigation.
I took a look and found that there are many friends on the Imperial Forum who have this need, but I basically didn’t see any good solutions. Then I looked at the code of the Empire label, and it actually has a built-in content page paging drop-down navigation label. Originally, the thinking of a general program is to separate data and templates, process the data well, and leave other forms of expression (whether it is a drop-down list or an ordinary text list) to the template, but in Empire it is all handled by core functions. For processing, write separate functions in the files in functions.php and t_functions.php to process this tag, and seal the HTML very well and present it to everyone. In order to implement the pagination title navigation list of the content page, I followed the implementation of his tags and modified these two core files to achieve it. In fact, in other CMS, you only need to analyze the pagination title of the article in the PHP file, record it as an array variable, and then use the loop tag in the template to loop it, and it will be displayed how you want. (For details, see: http://bbs.chinaz.com/CMS/thread-2020475-1-1.html).
Empire CMS and PHPCMS both have the function of customizing models. In terms of field customization, Empire is more user-friendly and more suitable for novice friends, while PHPCMS is functionally No problem, some designs are less reasonable, such as defining fields that can only exist in secondary tables (PCV9 has improved). Each model in Imperial CMS is a separate data master table and subsidiary table. There is no correlation between data IDs between different models. The problem is that there are articles with the same ID in different models, which is very tangled when it comes to the whole site data operation. , you have to judge the models one by one. When the editor was designing an Empire CMS plug-in today, I deeply realized the disadvantages of such a design. All models in PHPCMS share a main table, and the sub-tables are used separately. That is, the titles, abstracts and other information of all articles regardless of model are stored in a unified table. This makes data calls very convenient for the entire site. This shortcoming is also obvious. Custom fields can only be placed in the secondary table. If the custom fields are to be used as conditions for data calling or search conditions, it will be a failure. You have to jointly query the two tables and read out the data of the entire article. Basically No difference.
In short, with such a not too high level of PHP, you can use PHPCMS to effortlessly design various models, including real estate models, question and answer models, car models, etc., as long as Understand what the fields of the model are and what the process is like. Build the model in the background, then copy list.php and show.php, make some personal modifications, and then upload the HTML file template. If you want to be pseudo-static, just be pseudo-static. Generating static creates static. And if you use Empire for secondary development, you can also easily customize models and build tables in the background, but you lack a lot of flexibility in data process processing. After using its data operation classes and operating data, you must be familiar with it. In terms of template processing, read the template, and then simply write a function to replace the variable label. If you want to generate static, the original static generation function of the content page is not universal, and you need to simply write a static generation class yourself. In a word, it's very painful! It's better to just write PHP yourself.
2. Program stability template tag ease of use perspective:
PHPCMSThe tags in are all implemented with programmers’ thinking. The TAG tags and GET tags on the homepage and list pages actually generate SQL statements and parse them into functions for execution; content pages The tag implementation is a variable, that is, the data in the database is read out in the PHP control file, processed into clean data according to the field type, and placed in the variables. Then these variables are directly used in the PHP content page template, and the logical judgment is also Okay, whether it's further function processing, you can do it however you want, which is more in line with the programmer's thinking. However, ordinary users may be worried about using it. Changing a template requires understanding PHP logical thinking and SQL statements. Judging from the obvious bug residues in some modules of PHPCMS, it can be judged that few people use those modules. (Of course PCV9 should have made great improvements, which will not be discussed here.)
The tags in Empire CMS are the most authentic tags in the traditional sense. He and The label processing thinking of Dongyi (ASP-type CMS) is very similar. What does this label represent? Then after the program has processed it, it will be replaced directly. It is very convenient to use, and Empire is also very good in details. All the tags that can be used are carefully marked at the bottom of the template. Webmaster friends only need to follow the prompts to put the tags, which saves trouble and provides peace of mind.
The disadvantage is that tags are only labels, not clean data, and the processing lacks personalization. Although the Empire CMS template also supports PHP, it is because its template generation method does not parse it first. The variable is converted into PHP and then processed. Instead, the label data is processed and replaced during generation, so the limitations are also obvious.
It was mentioned above that a friend’s boutique story website was built using Imperial CMS. It was mentioned in the article that it was actually recommended because this friend used Imperial CMS to build the website without understanding any programs. It's very good, which also shows that Empire has done a very good job in details.
The above is a lot of nonsense. In fact, the basic meaning is two points: for friends who do not need too much secondary development, it will be relatively good to use Empire CMS, etc., and for secondary development, it will be relatively good. Friends who have a lot of development requirements and are familiar with PHP can use PHPCMS as a framework. Bugs are not a problem, and it is fun to change it. The worst thing is that it is written to death like the Empire and cannot be changed.
Of course, the article mainly extracts Imperial CMS and PHPCMS, and seems to ignore the students who use DEDECMS. In terms of implementation, most of the webmaster friends I met still use DEDECMS. , the stability of this CMS and the ease of use of labels are between the Empire CMS and PHPCMS. The editor only analyzes the two extremes here, hoping to give some tips to friends.
The above is the detailed content of What is the difference between phpcms and empirecms?. For more information, please follow other related articles on the PHP Chinese website!