写了一些代码测试一下。 1 2 3 4 5 6 7 8 9 10 public function executeShow() { $this->post = PostPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($this->post); $c = new Criteria(); $c->add(CommentPeer::POST_ID, $this->getRequestParameter('id')); $c->addAscendingOrderByColumn(CommentPeer::CREATED_AT); $this->comments = CommentPeer::doSelect($c); } def my_ruby_snippet blog_post.should(be_highlighted) end
Continue reading...Thursday, May 29, 2008
本问转自:CSDN原文 最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。 主要参考的框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony 说明:我对很多框架也没有认真使用,只是简单试用了一下,可能很多看法不成熟或者是错误的,请大家指正,一起成长。 【 CodeIgniter 】 官方网站:http://codeigniter.com 中文网站:http://codeigniter.org.cn 中文手册:http://codeigniter.org.cn/user_guide 视频教程:http://codeigniter.org.cn/tutorials 测试版本:CodeIgniter_1.6.1 优点: 1. 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能 2. 快速简洁,代码不多,执行性能高,框架简单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用 缺点: 1. 把Model层简单的理解为数据库操作 2. 框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要 评价: 总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的 layout,便于模板的复用,数据操作层来说封装的不错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至 于附加的 library 也还不错,简洁高效。 【 CakePHP 】 官方网站:http://www.cakephp.org 中文手册:http://www.1×3x.net/cakephp 视频教程:http://search.you.video.sina.com.cn/s?key=cakephp 测试版本:cake_1.1.19.6305 优点: 1. CakePHP是最类似于RoR的框架,包括设计方式,数据库操作的Active Record方式;设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错;数据库层的 hasOne, hasMany 功能很强大,对于复杂业务处理比较合适;路由功能,配置功能还不错;自动构建脚手架(scaffold)很强大;适合中型应用;基本实现过了MVC每一 层;具有自动操作命令行脚本功能; 2. 文档比较全,在国内推广的比较成功,大部分都知道CakePHP,学习成本中等 缺点: 1. CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力 2. CakePHP的cache功能略显薄弱,配置功能稍嫌弱;CakePHP不适合大型应用,只适合中型应用,小型应用来说略微的学习成本高了点 评价: 总体来说CakePHP框架代表了PHP框架很重要的一个时代和代表,并且目前发挥着很重要的作 用,不少自己写的框架都模仿了CakePHP的方式,是个里程碑式的产品;CakePHP透露着RoR的敏捷开发方式和把数据库操作认为是唯一Model 的设计思想,作为开发快速应用和原型是绝好的工具;同样,用来做Web2.0网站的开发框架,也是值得选择的。 【 Zend Framework 】 官方网站:http://framework.zend.com 中文手册:http://www.phpeye.com/zf 视频教程:http://framework.zend.com/docs/screencasts 测试版本:ZendFramework-1.5.0 优点: 1. 官方出品,自带了非常多的 library,框架本身使用了很多设计模式来编写,架构上很优雅,执行效率中等;MVC设计中,比较简洁,具有路由功能,配置文件比较强大(能够处理 XML和php INI),各种 library 很强大,是所有PHP框架中各种功能最全面的,包括它不仅是一个框架,更是一个大类库(取代PEAR),这是它的主要特色;能够直观的支持除数据库操作之 外的Model层(比 CodeIgniter 和 CakePHP 强),并且能够很轻易的使用Loader功能加载其他新增加的Class;Cache功能很强大,从前端Cache到后端Cache都支持,后端 Cache支持Memcache、APC、SQLite、文件等等方式;数据库操作功能很强大,支持各种驱动(适配器) 2. 文档很全,在国内社区很成熟,并且目前不少Web 2.0网站在使用,学习成本中等 缺点: 1. MVC功能完成比较弱,View层简单实现(跟没实现一样),无法很强大的控制前端页面 2. 没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成本高 3. Zend Framework 作为一个中型应用框架问题不大,也能够勉强作为大型应用的框架,但是作为一个很成熟的大型PHP框架来说,还需要一些努力 评价: 作为官方出品的框架,Zend Framework的野心是可以预见的,想把其他框架挤走,同时封装很多强大的类库,能够提供一站式的框架服务,并且他们的开发团队很强大,完全足够有能 力开发很强大的产品出来,所以基本可以确定的是Zend Framework前途无量,如果花费更多的时间去完善框架。同样的,Zend Framework架构本身也是比较优雅的,说明Zend官方是有很多高手的,设计理念上比较先进,虽然有一些功能实现的不够完善,比如View层,自动 化脚本等等,这些都有赖于未来的升级。总体来说Zend Framework是最值得期待的框架,当然,你目前要投入你的项目中使用也是完全没问题的。 【 Symfony 】 官方网站:http://www.symfony-project.org 中文网站:http://symfony-project.cn 权威指南:http://www.symfony-project.org/book 学习参考:http://sf.thecodecentral.com 测试版本:symfony-1.0.13 优点: 1. [...]
Continue reading...Tuesday, April 15, 2008
研究过PHP下的Symfony, 再看Ruby on Rail的时候, 发现两者都有不少的相似性. 首先他们都用到MVC的架构设计整个项目, 作为Web Application来说, 这样可以将class library, layout view, handler清清楚楚的分开,有助于多人开发,和日常维护。 如果比较过两者library的结构,他们也有相近之处。 从创建项目到编辑项目设置等等。 比如, 创建项目时, 他们都会创建一系列的文件夹和默认文件, 然后可以自己创建module, 都有位置防止plugins。做数据库的时候,也可以用.xml 或者.yml导出 Sql store procedures. 那到底哪个比较好一些。 这里有一边文章对比一些MVC frameworks的性能, 不足的是, Bench mark只不过是一个参照, 完全不能说明其他的情况, 比如error handling的性能, 每个framework都有各自的优化设置, symfony deployment的时候就有优化的设置. 在Google doc上到有一片比较全面的文章比较Rail和Django, 对与一个新的项目选择framework有一定的帮助.
Continue reading...
Friday, May 30, 2008
0 Comments