7个使用Drupal的理由

admin 提交于 星期二, 05/05/2015 - 09:25

Drupal是一个基于PHP语言编写的开源内容管理框架(CMF,CMS+Framework),它既可以让人不需要编写代码就搭建起一个网站,又可以像PHP框架那样编写复杂的自定义功能模块。

全球有2%【数据来源】的网站使用Drupal创建。它具有以下10大优点:

1. Drupal遵从开源许可,拥有最庞大的开源社区

截止至2015年5月,一共有38,140名开发者为Drupal贡献代码。拥有超过30000个模块和2000个主题。我们可以边开发自己的网站,边学习别人的代码。遇到问题,可以得到庞大的社区支持。

2. 可扩展性强

使用Drupal可以搭建任何类型的网站:门户网站、博客、论坛、购物网站、新闻网站等都是很简单的事情,每添加一种功能只需要启用若干模块,然后用一定的方式和现有系统连接起来。如果功能很特殊,可以自己添加新模块,就像使用普通PHP框架那样实现定制的功能就可以了。

3. 多站点支持

在Drupal的一套代码里,可以同时开发维护多个网站,多个网站间可以共享Drupal核心模块和带三方模块。这大大节省了系统资源,为同时开发多个网站带来很大的便利。几乎所有PHP框架都是为开发一个网站而设计的。传统的思维是一个网站也需要由几个人完成,而Drupal则是一个人可以很快地完成一个网站,以至于他在一个时间段里可以同时维护很多个网站,这是一个善用Drupal的人的效率优势。

4. 优越的模块数据库表结构的定义和升级机制

过去,我们做网站就只会在一个地方运行。现在,我们做的可能是一个可复制的Web产品,这个产品可能需要部署到很多地方。部署一个网站需要部署代码和数据库,一般的网站数据库部署可能是把本地数据库导出成SQL文件,然后再导入到目标服务器。这仅使用于首次部署,之后维护就要编写增量的SQL语句。由于没有一套系统的机制去维护,中途很容易搞错。

Drupal的模块里有一个install文件,用来定义模块所用数据库表,也不需要懂定义的格式,有模块可以帮我们从现有的数据库中导出这个格式,我们只需要用普通方法(例如phpMyAdmin)先创建表就可以了。在系统首次启用该模块的时候,Drupal会自动根据install文件的定义创建数据库表。

install文件还提供了一套数据库升级的机制,如果我们在开发过程中需要对数据库做任何修改都可以编写升级的语句,就像打补丁一样,并且该补丁有编号。系统会自动识别有哪些补丁是打过的,有哪些是还没打的。这一点很重要,如果我们的产品同时部署到站点A、B,A是经常升级维护的,B是偶尔有重要更新才升级的。那么我们在升级B的时候,Drupal系统会自动把所有补丁(SQL升级语句)都运行,不会遗漏,也不会重复执行。这是我们自己手工维护升级的SQL文件所无法做到的。

5. Drush命令行工具

Drupal带了一个drush命令行工具,可以在命令行下对系统进行很多操作。例如,启用模块、升级数据库、清空缓存、修改系统配置、修改用户密码等。对于大部分人来说,使用命令行没有必要,图形界面让我们大脑得到解放,不需要记太多的命令。但是,如果我们开发的Web产品是部署到100个地方,而我们要对这100个地方做一件同样的事情,无论这件事情多大,都是一场灾难。但是命令行工具让身为程序员的我们感受到了什么叫生产力,我们凭什么可以比传统产业更有效率。

6. 内置网页压缩缓存功能

Drupal可以自动把页面用到的JS、CSS合并压缩再返回,也可以把匿名访问的页面缓存下来。大大加快了网页加载和传输速度。

7. 有丰富的网络服务接口

Drupal提供网站内容、用户信息等以各种格式如RSS、Feeds、JSON、Restful等。比如说,我们要为网站开发一个App,Drupal已经为我们提供了主要数据的网络接口,只要配置一下App就能获取相关数据。

 

相关文章:7个不使用Drupal的理由

标签

添加新评论

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <img src>
  • 自动断行和分段。
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
请输入"Drupal8"