一直接触和使用的是thinkphp和codeigniter,没有用过其他的PHP MVC框架。
现在正在重构一个功能比较多的网站,但是工作时间太忙,回家时间很零散,所以需要快速完成上线。
在公司用thinkphp ci,回家里也用thinkphp来做,感觉头都快炸了,真担心全都混淆了。
所以想换一种。以前用过yii 1.x 体验不是很好,不支持命名空间,安装方法古怪。
想讨论哪一种 PHP MVC框架比较有前景(不会过一两年就散伙了)。
符合以下几个特点:
1)发行的稳定版本 支持命名空间,自动加载
2)比较出名或者流行,有很大一个使用群体
3)至少有一个正式的官网
4)性能强大,扩展性强
5)符合编程规范
6)长远角度来看,团队不会突然解散(比较看重)
7)不是小打小闹,应用很广泛。
反正我的意见是:框架功能越多,坑越多
你的需求恰好和框架一致那没问题,不一致的时候,框架功能越多封装越完善,死得越惨。这是典型的“基于巧合编程”
如果项目需求就是非常正常普罗大众的,那么干脆上wordpress drupal之类,配好合适的插件再微调就好
如果项目是有自己独立的需求或是需要长期维护&迭代的,框架功能越少越好
基于此我自己的答案是
5.3以前(无namespace,无composer)
自己写LitPHP
开源的考虑CI(功能还是偏多,上古时代没composer也没办法)
5.3以后(Composer & PSR标配)
lit的modern分支一直没思路,暂时有个Aether 小打小闹,随手用用
开源的考虑Slim
PHP 是一种神奇的技术,可以嵌入 HTML 代码中执行。PHP 依赖这个前无古人后无来者的运行方式,成为了一门 “语言”。
这个前无古人有点夸张,后无来者就完全是嚣张了。一个经历过时间洗礼后成熟稳重的程序员对待事物的态度是不会这么武断的,就算是PHP也是集百家之长(c的函数、c++、java和c#的类和命名空间、ASP的解析方式等等)才有今天。
Y是开箱即用,CRUD一生成基于bootstrap的操作界面都有了,而且深度整合Bootstrap带列筛选、排序的GridView不容小觑,直接在themeforest上买个Admin的HTML模板写后台管理界面绝对能让你Hign飞起来。
好吧我承认我没自己买过,都是SiteSucker帮我买的。顺便推荐一下,免费的AdminLTE真的很不错,而且git上yii2的AdminLTE也有,很方便。
L的代码逻辑是比Y更稳重,从auth可以看出来,但基础路由像过家家,而且没有整合前端资源,再加上风骚的命名绝对会让人感觉跟用锤子手机一样有B格,顺便说一句,L的命令也是artisan,相比锤子只是少了smart。额,开玩笑。
看Y的guide能吸收先进思想,学会很多东西,真的。好吧,看L的DOC也能学到很多东西。在中国感觉L就像SONY,叫好不叫座。
我也用了一段时间了,发现y2的设计思想很迎合我的口味,比如oauth
,快速restful,fields
重命名,extraFields
等等,看得出来作者确实很用心,在y1里面这些功能要么找extension,要么自己写。
PHP的命名空间用斜杠也就算了,那是没办法,但不能用*
引用一批类让我有点不爽,还有就是对象操作符,没玩过C++伤不起啊,至今都不喜欢->
,还是JAVA的.
好。现在想想,其实当年PHP要是用+
作为字符串连接符多好。
据说L的思维很跳跃、包装很彻底,彻底得让我即使用世界上最顶尖的PHP IDE -- PhpStorm也提示不粗来。所以我得做好心理准备了。