joomla与Drupal两者的优缺点比较
1:总体来说 drupal 功能强大一些
2:drupal 的优点
001-- 搜索引擎友好的URL
002-- Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票等模块。Drupal模块的下载、安装、定制非常方便
003-- Drupal提供了强大的个性化环境,每个用户可以网站内容和表现形式进行个性化设置
004-- Drupal提供了基于角的权限系统,没有必要对每个用户进行授权,只需要对角进行授权
005-- Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索
006-- Drupal的模板系统将内容和表现分离,可以很方便地控制网站的外观+ Drupal提供内建的新闻聚合工具 + 提供完善的站点管理和分析工具
007-- Drupal的Caching机制能有效减少数据库查询次数,从而提高站点性能,降低服务器负荷
3:详细信息:
<1>. 模块化系统(Module system)。
Drupal把各个具有独立功能的部分抽象为模块,各个模块(除核心模块)只要按照事先巧妙设计好的统一规范来实现接口(http: ///)------这些接口在drupal中表现为按照特定规则命名的PHP代码文件、特定PHP代码文件内按照特定规则命名的PHP函数、特定PHP函数内根据特定参数来执行相应功能的PHP代码块-------就能在核心代码的调度下实现模块自有的功能、在模块之间自动进行交互、通信,这样使得整个系统的功能扩展更灵活更规范。各个模块之间的功能相对独立,单个模块内部的变动一般不会对其他模块原有功能造成影响,单个模块的问题一般不会导致整个系统不可用,这样就可以大大降低系统开发和维护的成本。
Drupal 模块化的安装使用也很方便,只要将相应文件复制到modules目录下,就可以在'管理-设置'里面方便地开启使用了。
php新闻发布管理系统<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中自定义自己模板文件来实现特定的内容显示模板(参考 /api/group/themeable)。
模板机制的好处是你可以把站点数据处理和数据显示完全分离,这样就可以把开发人员的精力从繁琐的内容显示格式的工作中解脱出来,专注于实现站点的业务逻辑功能。其次,模板机制也使得我们可以轻易的改善站点的外观而不需要调整现有程序。
<6>. 菜单机制(Menu system)
Drupal通过菜单钩子hook_menu来实现它的菜单机制。只要在模块中的hook_menu钩子函数中按照约定的规则来定义菜单,drupal核心就会在站点界面中实现相应的菜单(具体请参见htt
p:///api/group/menu/)。通过菜单机制,开发者可以轻易的设计和调整站点的菜单系统,大大解放了开发者的劳动。
<7>. Ajax支持
Drupal内置对jQuery和JSON的支持,jQuery和JSON的完美结合,使得Drupal有了一个轻量级、高效的AJAX实现,大大提高了编写AJAX应用的效率。
总结:drupal更多的是当你需要使用php编写模块(插件)的时候才选用的东西,这个时候一般来说是现有插件已经无法满足你的需求了,需要定制,这个时候一般选择drupal。但是drupal也有很多插件,所以一般还是先选择插件,无法实现的功能才自己开发。
从操作上来说,drupal没有joomla那么简单直观,所以如果你有特殊要求,需要编码则使用drupal,在此之前,请先寻插件,尽量不要编写php程序
4:joomal简介:
Joomla!是一套在国外相当知名的内容管理系统
(Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义,就是比较适合作为商业类型的网站程序。一般人对这类型的内容管理系统可能会有以下的别名来称呼:
■ 架站程序(或软件)
■ 快速架站程序(或软件)
■ 整站程序
Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、 Windows、MacOSX等各种不同的平台上执行。目前是由Open Source Matters ()这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统管理者、文件撰写者,以及超过2万名的参与会员。目前,Joomla!最新的版本是Joomla 1.6。
Joomla 1.6给我们的建站作业带来了哪十大变化:
新的配置需求:
生产环境的PHP版本至少要达到5.2.4以上MySQL需要5.0.4以上;不够的话,考虑升级或是搬家吧。不再有Legacy模式:不再支持那些运行在Joomla 1.0或1.5 Legacy模式中的扩展; 届时可以联系扩展的作者,强烈呼吁开发native模式下的解决方案。
可嵌套的分类机制将取代section:
对于这个变化,Joomla玩家已然呼吁了多年;再见吧section;
可嵌套的分类机制配合Tag的使用,将使文章分类及站点结构更加灵活合理。
增强了用户界面的一致性:对于“提交”、“保存并新建”、“保存并复制”等功能使用了全新的图标,风格更加直观和一致,将有效提升用户操作效率和准确性。
整合的垃圾箱:不再为不同功能组件使用各自不同的垃圾箱机制;垃圾箱大一统的时代到来了。
新的模板风格机制:可以更加便捷的修改和组合模板风格index.php,为不同页面设置不同的主题;
新的模板管理(Template Manager)。
模块管理的调整:新的功能机制允许用户基于时间和日期来预设模块的发布或隐藏,并且可以为模块指定更加精确的显示位置。自带三款全新的模板:包括博客风格、协作站点风格以及一款供大家自定义的基础框架模板。
内建的链接跳转机制:新的分类机制必然导致从前基于旧分类机制创建的文章产生链接失效的问题;内建的链接跳转机制将提供完善的解决方案;
权限管理等级(ACL):这是一个大部头,也是Joomla多年来被指责的方面之一,现在终于得到改进。新的ACL机制允许多层级的用户权限管理,通过创建组别,为不同的用户分配不同级别的权限。
Joomla!的优秀特点
当然每个知名的开源码程序都会有其吸引人的优点,反之当然会有缺点。以下整理出在网络上来自使用者对Joomla!程序的喜好重点:
先进的网站技术的运用:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论