joomla与Drupal 这两个内容管理系统哪个比较好?

joomla与Drupal这两个内容管理系统哪个比较好?请说说各自的优缺点... joomla与Drupal 这两个内容管理系统哪个比较好?请说说各自的优缺点 展开
 我来答
我是小柒吖1663
2009-08-19
知道答主
回答量:53
采纳率:0%
帮助的人:63.5万
展开全部
看你要做什么网站了 总体来说 drupal 功能强大一些

由于joomla的这些扩展是---相互独立、没有一致的模型和接口----堆积起来的,一旦发现有些地方不能满足需求需要修改模块的时候,改起来非常繁琐,工作量很大,开发和维护成本陡然增长,要经过痛苦的煎熬。
drupal 的优点
001-- 搜索引擎友好的URL

002-- Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票等模块。Drupal模块的下载、安装、定制非常方便

003-- Drupal提供了强大的个性化环境,每个用户可以网站内容和表现形式进行个性化设置

004-- Drupal提供了基于角色的权限系统,没有必要对每个用户进行授权,只需要对角色进行授权

005-- Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索

006-- Drupal的模板系统将内容和表现分离,可以很方便地控制网站的外观+ Drupal提供内建的新闻聚合工具 + 提供完善的站点管理和分析工具
007-- Drupal的Caching机制能有效减少数据库查询次数,从而提高站点性能,降低服务器负荷

1. 模块化系统(Module system)。

Drupal把各个具有独立功能的部分抽象为模块,各个模块(除核心模块)只要按照事先巧妙设计好的统一规范来实现接口(http: //api.drupal.org/)------这些接口在drupal中表现为按照特定规则命名的PHP代码文件、特定PHP代码文件内按照特定规则命名的PHP函数、特定PHP函数内根据特定参数来执行相应功能的PHP代码块-------就能在核心代码的调度下实现模块自有的功能、在模块之间自动进行交互、通信,这样使得整个系统的功能扩展更灵活更规范。各个模块之间的功能相对独立,单个模块内部的变动一般不会对其他模块原有功能造成影响,单个模块的问题一般不会导致整个系统不可用,这样就可以大大降低系统开发和维护的成本。
Drupal 模块化的安装使用也很方便,只要将相应文件复制到modules目录下,就可以在'管理-设置'里面方便地开启使用了。

2. 钩子机制(Hooks system)

钩子机制其实是drupal模块化系统的关键部分。Drupal模块化系统基于一个"钩子"的概念,一个钩子是一个以foo_bar() 方式命名的php函数。其中foo是模块的名字,bar是钩子的名字。每个钩子都定义了一系列的参数和返回类型,执行特定的功能。例如钩子 myblog_load($node)会在系统载入模块myblog对应的节点(node)信息时候执行,把模块对应的节点特定信息附加到节点中去。钩子可以使得模块(module)可以在drupal核心的调度之下进行交互,包括和核心本身进行交互。Drupal的模块机制大大简化的实现模块具体功能的开发、维护效率,因为你只需要实现特定的钩子函数就能获得对应的功能,而根本不用关心这些函数是如何被调用、如何与系统交互。

3. 内容类型面向节点

这个术语是借用编程语言中面向对象的概念。在编程语言中,面向对象编程是指在编写应用程序时候,以对象为基本单位,在基本对象(object)的基础上,通过封装、继承、抽象、多态、重载等方式,建立起整个复杂的应用程序架构。面向对象编程通过把客观世界抽象为对象的组合及其相互交互,有效地降低了程序开发的抽象性和复杂度。
drupal把所有的内容类型都看作节点,各种内容类型都是在基本节点的基础上进行扩展而实现的。例如你的drupal站点有一个叫做供应(supply)的内容类型,那么这个内容类型就自动有了基本内容类型(node)的属性和方法了,然后你可以在这个基础之上通过添加少量额外的属性和方法来实现supply了。这跟面向对象的概念不谋而合,因此我把它称为drupal的内容类型面向节点特性。
把所有的内容类型当作节点的好处是,这样它们就可以基于相同的底层数据结构了。对于开发者来说,这意味着你可以对所有的内容以同样的代码方式进行许多操作。可以在节点上非常容易的进行一组操作,并且你也可以为你自己的节点类型添加许多额外的功能。由于所有的内容都是节点,所以所有的内容都可以轻易的使用 drupal内置的支持对内容的搜索、创建、编辑和管理等操作。这种内容一致性对于客户端用户的体验来说也同样明显。由于创建、编辑和删除节点的表单拥有一个类似的外观,这样就保持了用户体验的一致性。
不过所有内容类型均基于node,我认为也有缺点,就是drupal核心在执行node相应钩子函数的时候,会尝试执行所有节点类型对应的钩子函数,这样一旦内容类型增多,系统性能就会直线下降。

4. 表单API(Form API)
Drupal提供了一个应用程序接口(API)来生成、验证、处理HTML表单。表单的生成、验证、处理函数都是按照约定的命名规则进行命名,例如内容类型myblog的表单生成函数默认为myblog_form(&$node,&$param),对应的表单验证函数为 myblog_form_validate($form_id, $form_values),而表单处理函数为myblog_form_submit($form_id, $form_values)。drupal核心会在恰当的时候根据命名规则去执行相应的函数去生成、验证、处理表单。
另外,表单API将表单抽象为一个关于属性和值的嵌套数组。在生成页面时,表单呈现引擎会在适当的时候将数组呈现出来。
表单API的作用不但可以大大简化站点开发中最常见的表单生成、验证、处理的工作,更加大大提高了对表单变更的适应能力。

5. 主题机制(Theme system)
Drupal支持为站点配置不同的主题。一个主题是由一组展示你站点外观的文件------主要是模板文件------组成。模板文件按照约定的命名规则来进行命名。例如node.tpl.php文件为默认的节点内容显示模板文件,而node-supply.tpl.php为节点内容supply的内容显示模板文件;又如page.tpl.php为默认的页面内容显示模板文件,而page-supply.tpl.php为模块supply的页面内容显示模板文件。你甚至可以在template.php中自定义自己模板文件来实现特定的内容显示模板(参考 http://api.drupal.org/api/group/themeable)。
模板机制的好处是你可以把站点数据处理和数据显示完全分离,这样就可以把开发人员的精力从繁琐的内容显示格式的工作中解脱出来,专注于实现站点的业务逻辑功能。其次,模板机制也使得我们可以轻易的改善站点的外观而不需要调整现有程序。

6. 菜单机制(Menu system)
Drupal通过菜单钩子hook_menu来实现它的菜单机制。只要在模块中的hook_menu钩子函数中按照约定的规则来定义菜单,drupal核心就会在站点界面中实现相应的菜单(具体请参见http://api.drupal.org/api/group/menu/)。通过菜单机制,开发者可以轻易的设计和调整站点的菜单系统,大大解放了开发者的劳动。
6. Ajax支持
Drupal内置对jQuery和JSON的支持,jQuery和JSON的完美结合,使得Drupal有了一个轻量级、高效的AJAX实现,大大提高了编写AJAX应用的效率。
百度网友a812c16
2009-08-19
知道答主
回答量:33
采纳率:0%
帮助的人:7万
展开全部
公司正在研究这两个东西,简单来说,看你会不会编写程序,或者你想不想编写程序。
joomla更多是为那些不需要编写php的人设计的,joomla有更多的插件,大约超过5000个,可以扩展你的功能。joomla的后台操作更加简单也更加人性化,所以一般来说,你只需要美工做好图,然后用修改joomla模版,然后再安装一些插件,就能完成你的网站。
joomla最重要的就是要熟悉插件,如果没有美工做效果图,你也可以在网上下载很多漂亮的免费模版。
所以如果你不想或者不会编写php程序,那你使用joomla是最合适的。

drupal更多的是当你需要使用php编写模块(插件)的时候才选用的东西,这个时候一般来说是现有插件已经无法满足你的需求了,需要定制,这个时候一般选择drupal。但是drupal也有很多插件,所以一般还是先选择插件,无法实现的功能才自己开发。

从操作上来说,drupal没有joomla那么简单直观,所以如果你有特殊要求,需要编码则使用drupal,在此之前,请先寻找插件,尽量不要编写php程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式