ZenTaoPHP

来自开放百科 - 灰狐
跳转到: 导航, 搜索

ZenTaoPHP是一款轻量级的,灵活的,注重性能的国产PHP框架,以LGPL协议发布。

目录

ZenTaoPHP是什么

ZenTaoPHP是一个非常简单的PHP框架,它支持MVC三层的开发方式。zen是“禅”的意思,tao是“道”的意思。

我在读《编程之道》和《编程之禅》这两本书的时候,深受启发,故将此框架命名为ZenTao。

为什么开发这个框架

开发这个框架的主要目的是为了后面的项目管理软件做铺垫。后面我计划开发的项目管理软件会是基于这个框架的一个应用。

为什么不选择其他的框架

原因很简单,因为其他的框架都太复杂。我要保证代码足够简单,而且性能要好。

为什么选择这个框架

简单,性能,这也许是你选择它的理由吧。从某种意义上讲,这个框架更多是一个约定,而不是框架。

  • 简单

ZT框架核心只有四个文件,分别为调度类router.class.php,control类control.class.php,model类model.class.php和工具类helper.class.php。里面的代码也足够简单。我希望达到的目标是你看看代码就可以知道它在做什么,然后你想改它就知道如何改它。(如果你觉得没有达到这个目标,请一定告诉我。:))

  • 性能

正因为简单,所以才保证了性能。具体的我还没有做过测试,后面有时间会来做一个评测。我估计和通常原生的php开发方式相比,没有太多性能损耗的东西

  • 松散

框架,首先是一个框,把你框在了里面。所以很多框架会有很多的约定,你要怎样,你要怎样。还有很多隐形的约定,比如你要在你的代码里面写很多的xxxx之类的东东。我反正看的是很不爽。所以我在实现ZT的时候,除了基本的目录结构和类命名之外,基本上没有什么太多的约定。

还有就是我的框架实现时,没有出现什么zentao之类的东东,完全是中性的命名:router, control, model。

同时为了保证松散性,我特意舍弃了很多功能。大家可以参考《ZenTaoPHP框架没有的功能列表》这篇文章。功能越多,限制越多。

  • 友好

在开发ZT的时候,包括类的命名、方法的命名、参数的命名、目录结构、注释,都精心做过调整。目的就是对开发人员友好。

比如在ZT中,配置项可以通过对象的方式来引用,$config->db->user,要比$config'dbuser'简洁顺畅的多。

再比如对于包含路径的处理。很多框架要包含一个文件的时候,都要定义一个常量来记录路径的绝对地址,然后包含文件的时候这样写 include(ROOT_PATH . 'xxx.class.php')。这样实际是破坏了目录结构信息的清晰。ZT框架对这个问题做了相应的处理,来尽量避免出现这个问题。

系统要求

  • webserver最好是apache,打开rewrite模块。其他的webserver有待测试。
  • php5.2版本以上,加载pdo, pdo:mysql, json, spl等扩展。不支持php4系列的版本。
  • mysql没有要求,最好是最近比较高的版本。

安装

  • 下载本框架,将其解压缩到webserver的根目录,比如/data/www/zentao/
  • 修改apache的配置文件,增加一个virtualhost的配置/usr/local/etc/apache22/extra/httpd-vhosts.conf
    NameVirtualHost 192.168.9.99:80
    <VirtualHost 192.168.9.99:80>
        DocumentRoot /data/www/zentao/www/
        ServerName pms.easysoft.com
        RewriteEngine on
        RewriteCond $1 !(index\.php|img|js|css|favicon\.ico|robots\.txt)
        RewriteRule ^(.*)$ /index.php/$1 [L]
        #RewriteLogLevel 1
        #RewriteLog "/data/logs/rewrite.log"
    </VirtualHost>

如果需要使用PATH_INFO,则还需要修改config.test.php,将其中的requestType设置为PATH_INFO

具体的配置文件和你实际的安装目录相关。其中的IP地址需要换成你机器的实际地址。

如果需要及记录rewrite的日志,请把最后两行注释去掉。

  • 创建一个数据库,比如名字叫做zentao
  • 修改config.test.php, 修改其中的访问数据库的用户名和密码。
     $config->db->name       = 'zentao';
     $config->db->user       = 'root';
     $config->db->password   = ;

修改完毕之后,将其拷贝为config.php,或者使用符号链接。

  • 重启apache之后,访问你配置的网站即可。
  • ZenTaoPHP Hello World!

在module目录下面,有一个hello模块,展示了ZenTaoPHP的工作模式。你需要先把这个目录下面的SQL导入到数据库中,以创建所需要的blog表。

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱