欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 的哪个 MVC 框架值得推荐?

程序员文章站 2024-01-31 21:56:58
...

回复内容:

!--------------- created at 2014-08-23 ---------------
二话不说先来一个 Github 上 PHP 开源项目的排名 Search · stars:>0 · GitHub , 好有个概念.
PHP 的哪个 MVC 框架值得推荐?
大家的回答都比较老了, 现在是 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
多么智慧, 多么聪明, 又是多么简单的一些想法, 我疯狂的爱上了 Rails.

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(kohanaframework.org/)是我最喜欢的框架,个人从中学习了很多,它的文件系统和结构非常清晰,扩展灵活,安全,HMVC,大量使用了PHP5的新特性,代码非常优雅,文档也不错。

我个人写的超轻微框架也要发布了。 CodeIgniter
中文资料相对比较齐全 简洁 易学 可扩展性强
  1. 入门级别推荐Codeigniter。因为它比较容易上手,有很棒的文档,有中文社区,但是它也有不好的地方,一是Codeigniter不算是完全的OO框架,二是对更大一点的项目而言,功能薄弱了一点,需要自己去拓展。
  2. 功能稍微强大一点的,推荐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