zoukankan      html  css  js  c++  java
  • 最好的PHP框架有哪些

    最好的PHP框架有哪些

    首推 Laravel ,其次是 Yii,Laravel 的设计思想以及在工程实践上的支持,超过 ThinkPHP 好几个世代。如果说原生的 PHP 是火枪, ThinkPHP 就是来福枪,Lavavel 则是冲锋枪。你要打猎的话,带把来福枪完全足够了,但是要上战场,非得更自动化的冲锋枪不行。

    好处有很多啊:

    • Composer 做包管理
    • 标准的 Autoload 实现,可以让 `include xxx.php` 成为历史
    • 各种依赖注入
    • ORM 支持
    • 好用的命令行和脚手架
    • 丰富的文档和活跃的社区

    即使有这么多好处,也不过是追赶了几年前 ROR 的水平,还在用 ThinkPHP 的人,不过是懒得接触新知识罢了。

    说ThinkPHP适合国人使用的人,自黑的时候不要带上别人,多谢。


    在PHP5.3之后,PHP-FIGComposer给PHP社区带来了巨大的变化,如果一个框架还没用到Composer,还是invent everything here,就真的有点落伍了。
    有了Composer的支持,像攒电脑一样实现一个自己的框架也不是多困难的事儿了,但是要做出一个“好”框架还是挺困难的一件事。项目用过的框架6个(ZF1,SF2,CI,Yii,Laravel4,Silex),了解过的就不数了,见过的框架中最优秀的当属Laravel4,解释如下:
    1. 直接。各种常用的功能都由一些简单的Service实现,通过Facade访问,很多常见的问题都简单优雅的处理了,接口设计很贴心,大部分使用场景都替你考虑到了。由于功能简单直接,文档也就无需赘言,官网上的文档也不是太多,看一遍完全可以开始干活儿。
    2. 开放。有了Composer,优秀的代码可以很方便的引入项目,Laravel的框架就用到了boris,whoops,monolog,swiftmailer和symfony下面的一批基础类库,而不是非得自己写的代码才放心。
    3. 简单。不只是使用上的简单,框架本身的实现也不像别的“企业级”框架那么沉重,各个功能见很少的耦合,通过依赖注入容器组装起来。要从源代码里挖掘框架内部的实现也没有那么多抽象层级。

    另外,PHP新手还是从PHP The Right Way开始学吧,对新时代的PHP有个正确的认识,CI适合的是还在用<PHP5.2的老人,不是新手

    这里列几个客观数据(截止至 2017 年 1 月 2 日):

    一、Github 上 PHP 项目排行第一

    Laravel 作为这一页里最晚出现的框架,Star 数量远远高于排名第二的框架。链接在此 Build software better, together

     

    二、Google 趋势排第一

    Laravel 跟其他框架的对比图,链接在这里 https://www.google.com/trends/explore?date=2006-08-16 2016-09-16

     

    三、用户投票排名第一

    编程网站 Sitepoint 上的用户调查第一名,链接: The Best PHP Framework for 2015: SitePoint Survey Results

     

    Laravel 在国内的生态圈发展也日趋成熟,你可以很轻松的在网上找到很多 Laravel 相关的中文学习资料、技术讨论社区等。下面是推荐的几个网站:

    ------------------- 更新于: 2016. 12. 11 ------------------

    Laravel 第一部中文新手书籍《Laravel 入门教程》发布

    Laravel 大 Logo 卫衣来了

    Laravel 5.3 中文文档翻译完成

    线下聚会正在进行中 :

    Laravel Dinner 第一期 (北京站) 和第二期 (深圳站) 完美收官啦!

    [Laravel Dinner 03 期][上海] 线下聚会开始报名啦

    ------------------- 更新于: 2016. 08. 18 ------------------

    Lumen 5.1 中文文档翻译完成「精校版」_PHPHub

    Laravel 5.1 LTS 速查表重磅发布_PHPHub

    PHP 标准规范中文版发布_PHPHub

    ------------------- 更新于: 2014 . 09. 02 ------------------

    Laravel China is ready Laravel 中文文档 , 欢迎发起 issue 提交纰漏 和建议 --> Laravel China · GitHub

    ------------------- 更新于: 2014 . 08. 17 ------------------

    PHPhub - PHP &amp;amp; Laravel的中文社区 一个干净的 PHP 中文社区一直是我的梦想, 这几天动手写了一个, 今天算是正式上线, 虽然还有好多功能需要优化, 欢迎大家加入, 给我点动力, 哈哈.

    使用 Laravel4 编写的, 代码也是开源的 summerblue/phphub · GitHub

    ------------------- 更新于: 2014 . 03. 06 ------------------

    一个比较有说服力的数据:

    Laravel 是 Github 上最有名的 PHP 项目, 8627 个 star, 领先第二名的 Symfony 和 第三名的 CI 接近 1000个 star, 见这里 --> Most Star PHP Project On GitHub

    ci 和 symfony 得话多少年才能达到今天的影响力, 而 Laravel 的第一个 commit 发生于 Jun 09, 2011 , 见下图:

     

    ---------------- 首次发布 ---------------------

    Laravel4 , 整个 PHP 社区都为之疯狂的框架.

    Laravel4 讲究的是最佳实践, 是一个积极向上的框架, 向 牛B 的 Rails 看齐, 借鉴了很多在成熟框架已经体现出来很成功的元素:

    1. RESTful Routing ;
    2. 设计精妙的 Blade 模板引擎, 轻快, 不失灵活 ;
    3. 合理的 ORM model 层, Eloquent ORM , 借鉴于 Rails 的成功;
    4. migration 数据库版本系统 和 seeding ;
    5. 使用包管理器 Composer , 打开了一扇开往春天的门;
    6. 强调测试驱动, 整个核心经受过完整的测试, 高质量的代码;
    7. 命令行驱动, 可以做到高度自动化 (讲究效率, 代码生成器...) , 借鉴与 rails ;
    8. 合理使用 PHP 的新版本特性, 让写代码更加有乐趣, 跟上时代的步伐;
    9. 积极向上的社区, 这个很重要呀, 大家都在学习着, 创造着好的工具, 加快开发速度, 提高编程效率, 接受新知识的速度也很快.
    10. 对 php 标准化的支持 PHP-FIG — PHP Framework Interop Group

    另: 以下几个链接供参考

    Best PHP Frameworks for 2014

    Why Laravel is Taking the PHP Community by Storm

    The future of web development is Laravel

    2014 我有个愿望, 希望 PHP 社区一盘散沙的局面成为过去, Laravel, Composer, PHP-Fig 才是未来, 快速开发, 遵守规范, DRY, 构建一个团结的社区, 聪明, 理智的社区.

    没有一个比现在更合适的时间了, 朋友们, 把我顶起来吧, 让 PHP 的新人和老鸟都知道在 PHP 社区里面, 有这么一个好东西的存在, 也算为 PHP 社区做贡献. May God be with You.

    ------------------------------------- END -------------------------------------

    和大家一样,论强大推荐Yii。
    • yii框架是首选,文档齐全,面向对象很彻底,性能超群。实例化模型以后很多组件都能用上,唯一不喜欢的是查询出来的数据操作都是对象式的,我还是比较喜欢数组方式,只好用chtml::listData()转化。另zii wigdet对于提高开发速度非常牛逼。
    • 其实thinkphp 3真的很不错,而且容易上手文档更全更适合国人。我个人比较喜欢thinkphp的db部分route rest部分。
    • zend framework 更加像一个超大超全的类库,虽然运行速度有点慢,很多框架都留有zend类的接口,其价值可见一斑
    • codeigniter没仔细看,不敢妄言,中文支持比较少,很多人用的是他的分支版,kohana,有兴趣的话可以看下。
    • 最后说一下speedphp,这个框架的设计思想我很喜欢,简单高效,有sae版,扩展方便,适合改造,速度也不错,我开发社交游戏就喜欢用这个框架改造。
    说了这么多,框架还是要适合你的业务才是最好的。


     
    ZF1,2 , Symfony用了挺长时间,现在喜欢上了Laravel ,推荐给大家,文档齐全,新手也很好上手。
     
     

    好的定义是什么?
    设计模式好?
    代码规范?
    文档详细?
    注释明了?

    不知什么时候起,知乎上好像有一股黑thinkphp风气,就像java程序员鄙视php程序员php程序员鄙视asp程序员asp程序员鄙视易语言程序员易语言程序员鄙视authorwave一样

    不说thinkphp其他方面怎么样,人家的的确确是一个沉淀了八年的作品,从头到尾没有收过你一分钱完善的开发文档本土化做的很不错。(这算黑点吗?)社区运营确实存在问题(广告,hr泛滥,提个问题没人解答),但是他的确是一个让广达中国php程序员能过快速认识mvc,框架,CBD(thinkphp3.2之后的确做到了cbd,完全可以对框架底层定制化开发),包括orm等等,虽然他在某些方面的确算不上一个顶尖优秀的框架,但是从学习入门型框架的角度来看,他的确可以算得上是一个简单,轻量,适合一个完全没有接触过mvc框架的小白门用来入门和学习的框架了。

    况且像腾讯右侧栏里面大多数推广网站,极客学院的后台以及很多中小型创业公司都在用他。包括国内最广的weiphp框架也是基于tp3.2开发的,稳定性和广泛性可见一斑。

    最后说一点,整个IT行业现在都很急功近利,追求的是敏捷开发,短期效益,thinkphp只不过恰好迎合了这种形式。要背锅的应该是整个大环境(体制说:怪我咯¯\_(ツ)_/¯)不要总是无脑怪罪到thinkphp本身或者用thinkphp的人身上,更不要站在技术制高点谩骂thinkphp的作者,这样只会体现用其他高端有逼格框架的人的素质下限。
     
     

    上面很多朋友也说了。
    没有最好的,只有更适合自己的。

    并不是所有项目都适合用框架的,我个人的观点是,团队项目是一定要用框架的。这样可以使整个项目保持统一的接口、编码风格,为以后的后续维护降低成本

    关于是否要用框架的文章,昨天刚看到一篇好文章,这里一起分享:
    《好代码不值钱》

    我不是很赞同自己写框架的说法,原因有二:
    1.时间成本:一个框架要涵盖的内容是比较广泛的,一个成熟稳定的框架也不是几个工作日就可以完成的。我们应该站在巨人的肩膀上,而不是总想着去自己造轮子。
    2.学习成本:团队中自己开发的框架,一般是由1~2个核心人员来完成的。其中可能包含了比较多的个人风格,文档也可能不会很健全。使用这样的框架开发过程中如果团队中有人员调整,将是一件很痛苦的事。

    在选择适合自己的框架的时候,也有两点小建议:
    1.文档丰富,之所以把这个做为首要建议也是考虑到团队合作的情况下,新人可以快速上手
    2.有在维护更新,不要去用那些已经过时的框架。一个框架如果很久没有更新,起码可以说明用的人不多,基本可以忽略。另外,如果能用社区或者商业公司在维护的框架,最好不要用个人维护的框架,也是考虑到风险成本。

     
    私以为任何东西都没有最好,只是不同的取舍。你说YII好,但是学习曲线太高。你说CI好,但是封装太简单,没做多少事。你说yaf好,我tm还得编译个扩展上去。
  • 相关阅读:
    STM32 CubeMX 学习:004-PWM
    MyBase 7.1 可用的 Markdown 配置表
    STM32 CubeMX 学习:003-定时器
    STM32 CubeMX 学习:002-外部中断的使用
    Kubernetes资源对象之RS
    Kubernetes资源对象之Deployment
    Kubernetes基础资源对象之service
    Kubernetes资源对象之RC
    Kubernetes基础资源对象之Pod
    libev
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8555762.html
Copyright © 2011-2022 走看看