Drupal
官方论坛: http://drupalchina.cn/forum
模板主题下载: https://www.drupal.org/project/project_theme
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。截止2011年底,共有13,802位WEB专家参加了Drupal的开发工作;228个国家使用181种语言的729,791位网站设计工作者使用Drupal。著名案例包括:联合国、美国白宫、美国商务部、纽约时报、华纳、迪斯尼、联邦快递、索尼、美国哈佛大学、Ubuntu等。 ——摘自百度百科
7个使用Drupal的理由
—— by oschina.net / 黄冠能
Drupal遵从开源许可,拥有最庞大的开源社区
截止至2015年5月,一共有38,140名开发者为Drupal贡献代码。拥有超过30000个模块和2000个主题。我们可以边开发自己的网站,边学习别人的代码。遇到问题,可以得到庞大的社区支持。可扩展性强
使用Drupal可以搭建任何类型的网站:门户网站、博客、论坛、购物网站、新闻网站等都是很简单的事情,每添加一种功能只需要启用若干模块,然后用一定的方式和现有系统连接起来。如果功能很特殊,可以自己添加新模块,就像使用普通PHP框架那样实现定制的功能就可以了。多站点支持
在Drupal的一套代码里,可以同时开发维护多个网站,多个网站间可以共享Drupal核心模块和带三方模块。这大大节省了系统资源,为同时开发多个网站带来很大的便利。优越的模块数据库表结构的定义和升级机制
过去,我们做网站就只会在一个地方运行。现在,我们做的可能是一个可复制的Web产品,这个产品可能需要部署到很多地方。部署一个网站需要部署代码 和数据库,一般的网站数据库部署可能是把本地数据库导出成SQL文件,然后再导入到目标服务器。这仅使用于首次部署,之后维护就要编写增量的SQL语句。 由于没有一套系统的机制去维护,中途很容易搞错。
Drupal的模块里有一个install文件,用来定义模块所用数据库表,也不需要懂定义的格式,有模块可以帮我们从现有的数据库中导出这个格 式,我们只需要用普通方法(例如phpMyAdmin)先创建表就可以了。在系统首次启用该模块的时候,Drupal会自动根据install文件的定义 创建数据库表。
install文件还提供了一套数据库升级的机制,如果我们在开发过程中需要对数据库做任何修改都可以编写升级的语句,就像打补丁一样,并且该补丁 有编号。系统会自动识别有哪些补丁是打过的,有哪些是还没打的。这一点很重要,如果我们的产品同时部署到站点A、B,A是经常升级维护的,B是偶尔有重要 更新才升级的。那么我们在升级B的时候,Drupal系统会自动把所有补丁(SQL升级语句)都运行,不会遗漏,也不会重复执行。这是我们自己手工维护升 级的SQL文件所无法做到的。
Drush命令行工具
Drupal带了一个drush命令行工具,可以在命令行下对系统进行很多操作。例如,启用模块、升级数据库、清空缓存、修改系统配置、修改用户密 码等。对于大部分人来说,使用命令行没有必要,图形界面让我们大脑得到解放,不需要记太多的命令。但是,如果我们开发的Web产品是部署到100个地方, 而我们要对这100个地方做一件同样的事情,无论这件事情多大,都是一场灾难。但是命令行工具让身为程序员的我们感受到了什么叫生产力,我们凭什么可以比传统产业更有效率。内置网页压缩缓存功能
Drupal可以自动把页面用到的JS、CSS合并压缩再返回,也可以把匿名访问的页面缓存下来。大大加快了网页加载和传输速度。有丰富的网络服务接口
Drupal提供网站内容、用户信息等以各种格式如RSS、Feeds、JSON、Restful等。比如说,我们要为网站开发一个App,Drupal已经为我们提供了主要数据的网络接口,只要配置一下App就能获取相关数据。