Zope的优点和Apache+PHP+MySQL的比较
2007-04-26 15:47:47 来源:WEB开发网Zope作为编程和定制环境的优势:
Zope有dtml(动态模板标记)语言来嵌入HTML中,实现网页的动态化。简单地使用地形式就可以插入动态内容。由于可以方便地加入属性和方法以及“获取”功能,文档具有极为丰富的变量环境。可以比一般的客户端包含提供更强大的功能。又有的形式来方便地获取多个文件地内容。在dtml中还可以嵌入Python表达式。这样,不用编程就具有强大的动态网页功能,实现导航功能等也轻而易举。这些功能的实现比PHP等语言要容易的多。
如果要加入复杂的功能,可以用脚本模块来实现函数和复杂操作,然后在dtml中调用脚本模块,这样,实现了逻辑和表现的分离。在Zope中允许用Python、Perl和sql做脚本语言,各种脚本可以相互调用,这样实现了多语言的混合编程,实现了.NET要实现的混合编程的目的。Zope为脚本语言提供了统一的Zope API。用这种方式(以dtml为媒体)Perl在unix中也可以实现嵌入HTML的效果。Perl爱好者有福了。在这里可以直接用sql操作数据库,免去了把sql嵌入其他语言的麻烦。
Zope提出了zclass的概念,在一个product中捆绑了针对特定用途数据的一系列的属性和方法,甚至编辑和查看界面、特定权限、帮助等。比如把任务作为一个zclass,任务有任务的发出人、任务的执行人、任务的开始时间、完成时间、任务的内容等属性,也可以有一个任务的建立和完成的方法。这样当调用建立方法时给执行人发一封信,当调用完成方法时,给发出人发一封信。同时要有任务的web编辑界面,发出任务和修改任务的权限定义。当建立了这样一个zclass,就可以在任何文件夹中加入一个任务实例,Zope先检查用户是否有新建任务的权限,然后调出任务的编辑界面填入任务的各种属性,也有“建立”和“完成”按钮来调用方法。通过zclass可以方便地为Zope增加新功能。这种product的概念是PHP等语言所没有的功能,而通过product,Zope可以思路清晰地完成一项复杂地功能。
同时,在product的实现中,不但可以调用Zope API,还可以直接调用Zope本身的各种模块来实现更复杂的功能。因为Zope是开放源代码的,又是Python实现的,当编程中遇到难题时,可以随时参考Zope的源代码,方便的调用Zope模块和函数,甚至可以修改Zope代码,这些也是其他编程环境所没有的。
Zope的用户管理、版本管理等功能也是通过product来实现的,因此,Zope有一个标准的、开放的开发环境。
最近刚读了一篇文章,它用dos和windows的关系来类比Apache和Zope,在Apache中所有的东西都要自己来搞,如果不是自己搞,也要集合很多不同的程序来完成自己的任务,并且每个人的选择是不同的,这样,造成了相互之间没有共同语言,就像要编dos程序,要先自己到各处抓一些图形程序、打印程序、声音程序、安装程序等,来集合在一起,这样很容易出毛病。而在Zope中,有很多统一的API,当你完成一个product时,用户管理、权限管理、管理界面、编辑界面等这些都是Zope自带的,有API可用,就不用自己乱忙了。比如象zwiki,几乎不用它,Zope本身就是一个协同工作的产品自带用户管理和版本管理,这些就不用浪费时间白手起家了。文章中有一句话很好:“最差的统一编程界面也比没有统一好”。到cmf,Zope更提供了极为丰富的API。
最后,如果对Zope还有什么不满意,还可以使用cmf(内容管理框架,Zope的二级开发平台)来建立、管理网站,开发新功能。cmf对Zope的用户管理、文档管理、product进行了大量的扩展来实现更加高端的功能。关于cmf的功能,需要另外写一篇文章来叙述。
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››Apache HTTPServer2.2.16 发布
- ››Apache Tomcat 6.0.29 (稳定版)
- ››Apache HTTP Server 2.3.6 alpha 发布
- ››Apache+Subversion如何实现版本控制
- ››Apache+Subversion完美结合
- ››Apache的几种常见应用举例与分析
- ››Apache Geronimo 揭密:来自一位 WebSphere Appli...
更多精彩
赞助商链接