Wednesday, 27. February 2008, 06:09:37
在一个日本人的博客上看到《
Zendでも、Symfonyでもなく、CakePHPを選んだ10の理由》,题目翻译过来就是《不选 Zend, 也不选 Symfony,而选 CakePHP 的10个理由》。文中所列举的理由,比较有参考价值,因此整理翻译如下:
理由1 PHP4、5两头对应这个对开发者来说是值得庆幸的。
因为有时候客户现有的服务器环境,无法选择PHP的版本。这时候,如果原有的环境是 PHP4,Zend 和 Symfony 就鞭长莫及了
理由2 不依赖于 PEAR这个和理由1一样,可以确信自己所写的代码在什么地方都能运行。
还有就是,若有在框架之外还有依赖的东西,从开发环境到实际环境的移行,有时候会有意外的麻烦。
理由3 设置简单Symfony 由于依存于 PEAR,敲几个命令就能把环境搭起。CakePHP 则只要解压缩就OK了,
在设置简便这一点上,CakePHP 无疑高出一筹。
Zend 与其说是开发框架,还不如说是函数库群,光是设定就非常麻烦。
理由4 模型(Model)很智能Symfony 的 YAML 不能不写,
Zend_DB 的预先设置就很麻烦,SQL 也不能不写,这可不行。
理由5 不会用 mod_rewrite 也不要紧无法使用 mod_rewrite 的环境下,用近似的 URL 访问,发现也能正确动作。这是一个非常让人称谢的功能。
理由6 控制器(Controller)的参数非常出色CakePHP 下处理 get 参数,只需给控制器的 Action 方法准备好参数即可,它能自动传递,这是个出色的功能。
若结合 mod_rewrite,可通过
/user/index/userid001
这样的静态 URL 取得参数。
理由7 错误处理太亲切了缺少 Controller,或是缺少 Model,像这样根本性的错误,错误画面上会给出所需的最低限代码。初学者得感谢有这样的功能。
理由8 数据净化(Sanitize)方便每当进行数据净化(Sanitize)的时候,$this->这东西做不了。
h就行,相当轻松。
(
译者注:以上两句偶也不太明白)
理由9 日期输入很轻松Helper(v1.1是HTML, v1.2是Form)中有专门处理日期输入的方法,稍微改动一下就够用,在这种地方不用太费力气,是很具魅力的。
理由10 很容易集成第三方的制品只要把东西放在 vendors 下,然后在 bootstrap.php 中写一行 vendor(),就能在任何地方使用了。
大体上,若需在框架中实现比较麻烦的功能,选用现成代码那是理所当然。从这些方面考虑,CakePHP 实在是太棒了!
译者注:Zend、Symfony 和 CakePHP,这几个框架我也有过接触,实在是难以取舍。最近在修改一个采用 CakePHP 开发的项目,发现 CakePHP 确实有不少优点,这篇文章基本上说出了 CakePHP 的优点,所以和大家分享一下。