[转] DooPHP 用过的最快的 PHP 框架

鉴客 发布于 2011/02/23 10:53
阅读 3K+
收藏 7

前几天在看到Doophp的介绍,传说是速度最快的php框架,于是google了一把,看了一下很多评论,貌似不错,来到Doophp的官网,稍微看了一下就把Framework给下载下来了,但是不知什么原因,API的包下载下来解压缩有问题,也许是操作系统原因吧。不过不碍事,马上动手搭建起来。

先介绍一下文件夹结构,解压出来3个文件夹和4个TXT文件,TXT文件中我就看了INSTALL和CHANGELOG,看一下怎么安装,更改日志的话我 的目的主要是看看里面有那些内容,作者最近修改的BUG在哪些方面,这样有个粗略的印象。文件夹包括dooframework,这个是doo的框 架,demo是一些样例,app主要就是工作的目录。

app这个目录下是开发者真正比较关心的(虽然同样关心dooframework这个目录),里面有已经写好的index.php(应用程序的入口,负责 初始化配置,路由,数据库等),一个.htaccess文件(主要用来让url更好看,真正做到RESTful),global文件夹(静态文件,比如 css,js等),protected文件夹(php的工作目录,里面有控制器,模型,视图,插件,配置文件,缓存等目录),tools文件夹(这个文件 夹还是比较有用,开始用的时候可以使用他生成控制器,模型,路由等等,值得一提的是模型里面支持各种关系,比较好用)。

好了,这时就可以把app下的所有文件和dooframework搬到新建的虚拟主机下,开始doophp之旅了。

Open Source的好处就是代码开源,文档全,有做Demo,因此搭建起来毫不费力,改了一下config下的common.conf.php的一些配置,默认应用就跑起来了。

列一下需要注意的地方:    SITE_PATH 站点的文件路径,BASE_PATH 框架的文件路径,可以自定义错误页面,可以定memcache的服务器等。

当然还有数据库配置文件,路由文件,不过这些一开始都不需要配置。

稍微配置一下后,看到的页面是doo自带的页面,这个时候可以点击默认页提供的几个链接看看,有一个是可以到Tools目录下的,其中有工具还是很有用的,比如生成router,填写好地址,控制器和控制器方法,会直接出来一条路由语句,形如:

$route['*']['/home'] = array(’HomeController’, ‘index’);

非常方便,其实这个也可以到config目录下的routers.conf.php去查看,都有,作者的注释写的非常好,很清晰,一下就能明白怎么回事, 作为用户来说该怎么做,这点也反映到框架本身,比如我在使用视图的时候,不知道有没有语法支持循环,判断,外部include模板等功能,打开框架里面的 Dooview class一看,一目了然,各种支持情况都有写,而且还有示例,可见作者非常认真啊。实现的功能函数也很容易理解运作机制。粗看了一下,几个东西都已经能 够实现了,比如MVC,URI Router,Rest,ORM, Template等,而且上手很快,运行速度也很快。

讲一下几个核心的地方和我觉得需要改进的东西:

1 . MVC, 实现的还是很好的,三个部分都分开,依靠URI,调用相应的Controller,然后Controller里面Load需要的Template。

2. ORM, 这块我是觉得做的很不错的,是类似Hibernate的实现,不是Activerecord,怪不得官网上说它不是抄ROR的, :)

3. Template,有点像CI的,如果模板在不同文件夹中,不好操作,须改框架源码。

4. Tutorial做得不够完善,还是需要时间和人去做的,不过好在代码注释相当好,很容易理解。

5. 有迁移脚本,没有深究,表面上看应该还在持续改进中。

6. 社区一般,可能由于是中国人写的,所以中国社区比较活跃,其他的都一般。

7. 数据验证,分页控件,图片上传处理,日志这些都有,不过本人没有深入,就瞄了一眼源码。

由于没有深究,也没有更深入的理解,不过,本人还是觉得这个框架可以一试,基本的一些东西都已经有了,速度也很快,中小型站点应该没有问题。虽然本人不是 特别拥护php框架,甚至有时候是觉得php不应该有所谓的框架,但是在未来还是会一直关注Doophp,起码它在很大程度上增加了程序员的效率,节省很 多时间和精力。祝愿这个框架继续进步。

加载中
0
0
peter.gejun
peter.gejun
这个框架的路由功能作的很不错
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部