官术网_书友最值得收藏!

Understanding CMS technologies

We haven't discussed the technical aspects of CMSs so far. Let's quickly review them here.

Web-based CMSs have a simple three-tier architecture, just like any other web application: Browser → Web Server → Database Server. Internally, different CMSs may have different system designs. However, the overall components and flow still remain the same. Take a look at Joomla!'s architecture in the following figure:

Understanding CMS technologies

And here's Drupal's execution system flow:

Understanding CMS technologies

Most CMSs will have similar design, which consists of a few core components, plug-in systems, and template handlers. The flow will be similar too—process templates, permissions, content blocks, and actual content.

Note

You can learn more about Joomla! architecture at http://dev.joomla.org/content/view/1137/80/.

Find how Drupal's flow works at http://drupal.org/getting-started/before/overview.

Apart from the system architecture similarities, you may have noticed another similarity in top CMSs—the backend technologies that they use. Most are written in PHP with MySQL as the database.

PHP is most popular for CMSs

PHP (http://www.php.net) was designed "to solve the Web problem", and it is no surprise that most CMSs are written in PHP. PHP is easy to learn and is very powerful. It allows building solid frameworks and writing elegant business logic. On the other hand, PHP also forgives badly written code. So when you select a CMS, make sure to go for one that has good code. Popular CMSs typically have high-quality code, so you can rest assured.

If PHP is not your preference, you can find CMSs in .Net, Java, Ruby, Perl, and Python too. All of them have their own strengths.

But why does the technology choice matter?

A technology choice matters because you will host your CMS on a web server, and it needs to support the technology your CMS is using. Especially if you are on shared hosting, you must check if your host supports the programming language (that is, PHP, or Perl, and so on) and database (that is, MySQL, MS SQL, and so on) that you are going to use. There may be other system requirements such as the GD library for a photo gallery. Ensure that your existing infrastructure supports those requirements. Otherwise, you may need to change the server configuration, service provider, or the CMS.

That's enough of technical background for us. In the next few chapters we will learn how to select a CMS for which we will revisit the technology. For now, let's summarize what we covered in this chapter.

主站蜘蛛池模板: 伊吾县| 淅川县| 彭水| 南昌市| 怀安县| 新营市| 淅川县| 电白县| 睢宁县| 罗平县| 长春市| 犍为县| 通化市| 兴文县| 广汉市| 合阳县| 赣州市| 灵璧县| 麻城市| 尼勒克县| 都江堰市| 乡城县| 简阳市| 延津县| 洛阳市| 鱼台县| 修武县| 哈尔滨市| 新邵县| 宜兰县| 霍林郭勒市| 泰州市| 获嘉县| 潮安县| 交口县| 蓝山县| 浮山县| 铁力市| 新野县| 鄂托克前旗| 宜兴市|