最近打算用做一个比较中型的PHP应用,想到用比应用广泛的MVC框架。
要求
1.支持命名空间
2.不支持PHP4
3.架构、性能更重要
4.长期稳定,而不是很快就会被淘汰或者解散的框架
Yii2、symfony2都太庞大,不适合。考虑到了Laravel CakePHP Kohana CI。
先说一下自己对这三款框架的看法
1) CI 2.x
官网一种放弃状态
CI框架太轻巧,很多东西都要自己做,非常陈旧
CI框架在IDE中无法进行代码跟踪,点击类名无法跳转过去
2) CakePHP 2.x
为什么非得向下兼容PHP4?弄得非得用一个蹩脚的App::use()来替代namespace!
为了兼容PHP4弄得整个架构乱七八糟
如果CakePHP放弃对PHP4的兼容,应该会有更多的人使用
3) Laravel
不支持php4,支持命名空间
网上非常多的好评,仔细看每个评测文章都是复制粘贴的感觉很枪手。
网上包括segmentfault上都有对框架的比较,但基本上是都是摘抄的转载的,而不是自己使用过后的真实体会,期待有使用过后的真实体会,而不是复制粘贴网上人云亦云的测评。
今天使用Laravel,发现文档不是官方宣传的那样丰富,而是少非常不清晰。
Route的所有方法有那些,根本就找不到这些说明。官方的文档只是几个简单的例子,根本就不详尽。
2015-6-16 补充:
再次回到这个问题,我已经一路使用了CodeIgniter、ThinkPHP 再到Yii2,开发了一些完整的项目。现在发觉 PHP 的 MVC 模式确实难以满足需求,到后来的 component,现在再到laravel的思路,难以理解,总是一直感觉在追赶,特别疲惫。
其实一开始,我走过太多的弯路,很多年以前,对于OOP都有着强烈的排斥和极端的抵触,原因就是使用了class 类会导致程序运行非常慢,究其根本是我使用的运行环境实在是太烂了,虚拟主机都不如,而且还是win。到后来MVC模式,加载的文件数目几乎是无法比拟。后来开始使用MVC框架,普通的主机已经完全无法支撑,绝大部分虚拟主机大部分都是win服务器、而且PHP最多最多PHP5.3就不错了,还有很大一批居然还在PHP5.0(虚拟主机就是只提供一个FTP用户名密码的那种)。
走过太多的弯路,一直以来总是被硬件条件、运行环境束缚思维。
CakePHP没用过不予置评。
一个php程序员的成长过程往往可以类比成 CI -> Laravel -> CI。CI和Laravel基本可以认为是过去几年和现在两个时期的PHP框架霸主,使用率最高的框架。CI适合完全新手和高手,Laravel适合中级别程序员提高生产力。
详解
如果你用了Laravel,也不用担心性能问题,因为当出现性能问题的时候,性能也就不是问题了。有用户有钱有时间,想怎么重构怎么重构,妥妥的~