PHP 的哪个 MVC 框架值得推荐?
程序员文章站
2022-06-04 13:31:12
...
回复内容:
!--------------- created at 2014-08-23 ---------------二话不说先来一个 Github 上 PHP 开源项目的排名 Search · stars:>0 · GitHub , 好有个概念.
大家的回答都比较老了, 现在是 2014 年 8 月下旬, PHP 最近这几年还是发生了很多变化, 尤其是 Laravel 的出现, 让很多已经开始放弃 PHP 的人又从新回到 PHP 的怀抱.
离开 PHP 是因为觉得社区就是一盘散沙, 大家各种为战, 当我想学个框架, 来提高生产效率的时候, 上 Google 一搜, 出来的就是
- 50个你必须了解的 PHP 框架>
- ....
最后我下定决心, 把每一个框架都学习一遍, 真正在学习的时候, 头又大了, 每一个框架都有不同的代码规范, 不同的架构, 不同 "功能一样调用方式不一样的函数方法" , 可以这么说
每一个框架都在发明属于自己的语言在学到第五个框架的时候, 我就决定放弃了, 因为, 我觉得, 我虽然年轻, 但是不至于时间如此廉价的浪费掉.
后来一直听说 Ruby 社区有一个叫 Ruby on Rails 的 Web 框架, 是全世界最好的框架, 为了用上最好的框架我开始学习 Ruby 直到接触 Rails, 还记得第一次用 Rails 写 Demo App 的时候, 热泪盈眶呀, 多么好的设计, 并且最重要的, Rails 的社区是如此理智, 大家喊得口号是
- Convention over configuration;
- DRY - Don't Repeat You;
- KISS - Keep it simple and stupid;
- Don't reinventing the wheel;
- Optimized for programmer happiness and sustainable productivity
2012 年末, 无意间在 Tuts+ 网站上看到 Jeffrey Way 的一套 Laravel 3 Essentials ( 注意: Laravel 现在已经是 Laravel 4 了, 这套课程已经 out dated 了 ) 课程, 看完以后对 Laravel 印象深刻, 从那会就一直留意 Laravel 的发展.
2013 年 6 月份, Laravel 4 发布, 集成了 Composer, 框架的可扩展性极高, 还有 100% full testing coverage.
关于 Laravel 4 的好, 我在这个问题里面已经讲了 最好的 PHP 框架是什么?为什么? , 就不复制过来了.
Laravel China:
Laravel China is ready Laravel 中文文档 , 欢迎发起 issue 提交纰漏 和建议 --> Laravel China · GitHub
PHPHub:
最后对 PHP & Laravel 的爱好者喊一句, 我抽空弄了个社区, 欢迎加入一起讨论技术, 一起成长.
PHPhub - PHP & Laravel的中文社区 一个干净, 纯粹的, 积极向上的 PHP 中文社区逛知乎看到这个问题,想起了多年前的我,过来插句嘴
网站是使用 Laravel4 编写的, 代码基于 MIT Licence 开源 summerblue/phphub · GitHub , 欢迎大家贡献代码.
不聊谁优谁劣,只是谈谈用过的几个框架的感受:
1. ThinkPHP 文档全中文,易上手,对于配置环境没什么要求。当年上学的时候结合sae做个小站上个活动页,很快搞定。可想加点扩展功能的时候就很懵,一是百度不到答案,二是配置起来比较麻烦。
2. Yaf 亚一程鸟哥的作品,据说是世界上最快的php框架,不少大公司的项目都是在此基础上再开发, 用C写的扩展,安装的时候得编译,有点麻烦,需要自己造很多*。
3. Laravel 这两年非常火,内置的用户权限和blade模板用起来很方便。结合composer能把你所有想写但不会写或者懒得写的功能都一健怼进来,但在没有国内镜像的时候每次composer install/update都像是在走钢丝,生产环境分分钟要爆炸。文档有中文有英文,遇到问题能从*上找到不少答案。
跳出来说,不纠结于使用哪种框架,落地到具体的业务场景,有一套自己最熟悉的开发工具才是最实在的事情。
同样都是菜刀,有的人用来杀猪,有的用来雕花。
况且你大部分时间不是在写代码,而是在改需求。 Kohana(http://kohanaframework.org/)是我最喜欢的框架,个人从中学习了很多,它的文件系统和结构非常清晰,扩展灵活,安全,HMVC,大量使用了PHP5的新特性,代码非常优雅,文档也不错。
我个人写的超轻微框架也要发布了。 CodeIgniter
中文资料相对比较齐全 简洁 易学 可扩展性强
- 入门级别推荐Codeigniter。因为它比较容易上手,有很棒的文档,有中文社区,但是它也有不好的地方,一是Codeigniter不算是完全的OO框架,二是对更大一点的项目而言,功能薄弱了一点,需要自己去拓展。
- 功能稍微强大一点的,推荐Yii。它比Codeigniter要复杂一些,文档没Codeigniter的好,所以花的力气要大一些。
smarty只是模板引擎,应该还算不上是框架吧? yii 快 全 老外一直维护,易理解,看看文档就能快速上手了 国外的CodeIgniter,国产的ThinkPHP
看过许多框架,有些确实强大,但是非常繁琐难懂,比较容易上手的应该属ThinkPHP了
如果你英文阅读能力过硬,还是建议使用国外框架,他们通常强大和健壮的多,缺点就是出现问题的时候你只能在英文世界寻找答案 强烈推荐 Yii 框架
越用越觉得强大。
程序员写项目不就是要讲究效率吗?如果你还在为一个分页、表单验证花大把的时间,那你改试试这个框架了。
不然等着你的就是加班,和加班。 先使用 ThinkPHP 3.2 用作初期使用,做一个完整的产品出来,在使用的过程中要阅读它的源码,最好是自己能去改,因为TP是基于php 5.2设计的,与php 5.3之间的差距还非常大,所以尽可能的按照php 5.3的方式来改TP,改的过程中,自然而然能理解TP的设计原理和一个PHP框架所该有哪些功能。
然后就去使用Laravel 4,因为他语法简洁,使用composer,命名空间等,对于PHP所完成的功能块也清晰。
最后去使用 Smyfony,因为这个框架非常的强大,他会带给你一个完善和爽快的新世界(前提当然是你能充分地理解它的设计目的)。
在使用这三个框架时,你就会充分的理解出他们分别的设计目的和针对的开发团队层次了。
而决定于用哪个,便是由你的项目大小、参与人数、开发者素质多方面决定的了。 Zend
上一篇: 【前端】网站图标(小 logo)的实现
下一篇: 修改iOS返回按钮的几种方式