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

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.

主站蜘蛛池模板: 乐清市| 中超| 高邮市| 安乡县| 监利县| 依兰县| 天镇县| 泸西县| 大英县| 麦盖提县| 邢台县| 东兴市| 翁牛特旗| 华容县| 舟曲县| 南宫市| 涟水县| 平舆县| 龙陵县| 南江县| 德昌县| 亚东县| 东城区| 木里| 香河县| 沙河市| 齐河县| 义乌市| 唐山市| 合阳县| 甘孜县| 广东省| 文登市| 睢宁县| 崇文区| 武定县| 岳池县| 台东县| 镇雄县| 静乐县| 永新县|