Blogs

Pandora charms online let me wait till my love

Pandora charms online let me wait till my love

Pandora charms online let me wait till my love

Pandora let us know what is the true love

初试PHP框架

(转自http://www.jacky-wu.cn/)

 

    随着Php一个接着一个新版本的release, 相信好多php开发者都走进了新的开发模式的世界,各种框架翻涌而出,针对不同需求,使用相对应的框架,使开发事半功倍,笔者也下载了几个尝试了一下,在做几个相同demo的时候,确实发现收效很大,针对不同的业务,只要模型建的好,遵守框架的规则,开发一个能用的雏形,根本就是几分钟的事情。

不过回过头来看看rails, 相比之下还是略显不足,原因很简单,虽然php的脚本运行很快,单毕竟是脚本,每一个请求到执行完成的时候也就是此请求内对象生命结束的时候,比起rails, java,python这些来说太浪费了,不过也有好处。

 

CodeIgniter 是比较轻量级的一个php框架,比较简单,但是开发极其快速,代码方面是学习rails的,一看文件夹部署就知道,模型,控制器,视图都很简单,url路由也很简单,因此上手快,最喜欢他的Tutorial和视频教程,虽然语速有点快。对于这个框架最吸引人的就是好多针对各种业务逻辑的类库和辅助方法,而且在持续不断更新中。

Cakephp 也是学rails的,看了controller和model的源码,用了比较复杂的方法来写控制器和模型的超类,比如模型类预定义了很多方法和变量来操作模型,模型关系,数据库操作等,为子类提供了相当多的方便,不过在子类里面还是要设置点东西的,Cake的教程也还不错,不过框架本身设计良好,但是为了兼容php4,笔者觉得正是因为这个,稍稍影响了框架的效率,不过这也算是个好处。

Zendframwork太大了,稍微看了一下有点头痛,放弃了。

Yii 是新晋的东西,也是我觉得特别好的,特别符合php发展路线了。里面运用了很多php5的新特性,因此兼容性不是很好,不过这也是他的聪明之处。 里面最让我觉得心领神会的东西,就是使用了php的自省机制,要知道,只要定义了模型文件的属性,并且和数据库的字段相对应,对于数据库操作可是节省了很大一笔开销,另外使用公有的方法定义表名,表关系等模型文件需要的东西就可以很方便的实现模型间的关系,另外还可以为模型的属性设置Label, 即在视图部分的字段描述。 模型也内置了错误机制。

其实Yii最吸引我的原因是因为笔者之前都一直想做个趁手的框架来增加开发效率,后来尝试了很多框架,包括rails,Django等比较流行的,发现php并不适合做很复杂的框架,后来就用了另外一种方法来实现,就是代码生成的方法,基本可以实现几种模型关系,比如1对1,1对多和多对多, 控制器也很简单,分析url,直接去url中的内容来做控制器的action方法。

Doophp 用过的最快的php框架

(转自http://www.jacky-wu.cn/

   前几天在Lamppr.com上看到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,填写好地址,控制器和控制器方法,会直接出来一条路由语句,形如:

Hello my first post

We love drupal!