You are here

2drupal的技术堆栈

admin 的头像
Submitted by admin on 星期四, 2015-05-28 03:13

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com


我们首先来看一下,在Drupal中,都会用到哪些技术。

2.1 PHP

  Drupal使用的编程语言是PHPhttp://php.net)。PHP是一个流行的、跨平台的、服务器端执行的脚本语言。所以熟悉PHP,对于学习Drupal开发很有帮助。但是这并不是说,熟悉PHP 是必须的,由于Drupal本身,在PHP的基础上,又做了大量的封装,很多功能只需要调用自己的API即可实现,所以其它语言的程序员,转学Drupal,并不比PHP程序员转学Drupal更加困难。

 

  因为PHP易于入门,所以大量的PHP代码都是由新手编写的。而新手的水平大家也知道,他们的代码总是存在这样或者那样的问题,这就给PHP的名声带来了比较坏的影响。不过, PHP也可以用于构建严谨的程序。Drupal核心中的所有代码都遵守了严格的编码规范(http://drupal.org/nodes/318),通过开源,Drupal代码也经过了成千上万人的锤炼。对于Drupal来讲,PHP的入门门槛比较低,这就意味着有更多的人能够为Drupal贡献代码,通过开源,会有很多人对这些代码进行检查,这样就保证了代码的质量。

 

  最后,需要注意的是,Drupal7所需的最低PHP版本是PHP5.2。由于在PHP5.2及后续版本中,面向对象编程正占据着主流地位,因而尽管Drupal本身是面向过程的,但是Drupal核心中的一些子系统,以及很多第3方模块,都广泛采用了面向对象编程技术。

 

2.2 web服务器

    最常用的web服务器就数Apache了,所以一开始Drupal就对Apache提供了内置支持。当然,这并不是说,Drupal不能运行在其它web服务器上。随着Drupal的流行,对其它web服务器的支持,也越来越完善了,比如IIS、lighttpd、nginx。最近两年,在Drupal的高性能应用实践中,越来越多的Drupal程序员把Nginx作为首选服务器,用以提升性能。

   我们在本书中不会涉及太多与web服务器相关的知识。这里值得一提的是,在Drupal中,简洁URL用到了web服务器的相关设置。有关简洁URL的相关配置,可以参看相关的文档。

 

2.3 数据库

  最初,Drupal对MySQL提供了内置支持,在Drupal的后续版本中,增加了对PostgreSQL的支持。在Drupal7中,内置支持了MySQL、PostgreSQL、SQLite三个数据库系统。由于Drupal7的数据库API,是完全基于PHP5的PDO,而PDO能够支持各种各样的数据库,比如Oracle、SQL Server、DB2,所以通过第3方模块,就可以实现Drupal7对Oracle、SQL Server,DB2的支持。Drupal 对商业数据库的支持,能够让Drupal 在更广泛的领域中得以应用。

 

2.4操作系统

  操作系统位于Drupal相关技术堆栈的最下面的一层,由于Drupal是基于PHP编写的,而PHP语言也具有跨操作系统的特点,所以只要操作系统能够支持PHP,我们就可以使用它来运行DrupalWindowsLinuxMac OS等等,在这些主流的操作系统上,都可以运行Drupal。操作系统层,主要负责网站相关的最底层的任务,比如网络连接,文件的权限。如果你是在linux下面安装运行Drupal,你经常会遇到文件夹权限不可写,这样的权限问题。

  本书的作者,使用的是Vista操作系统,所用的环境是XAMPP,所有的代码都是在这个操作系统下面编写的,相信这些程序也能够应用于其它操作系统及相关环境下。

 

2.5 HTMLCSSJavaScript

  Drupal系统中最终返回给浏览器的是HTML,而在HTML中,CSS是用来定义页面样式的,JavaScript则是浏览器客户端的脚本语言。需要注意的是,DrupalJavaScript的支持,是通过jQuery实现的。jQuery是一个优秀的轻量级的JavaScript框架 (压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器。作为一个Drupal开发者,我们今后肯定会涉及到这三种技术。


Drupal版本: