1.yii

作者:宗霖
链接:https://www.zhihu.com/question/25023032/answer/75085250
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

从11年接触yii开始,知道现在,用yii做了好几个项目,大概都属于BAT里边的中小型startup项目比较多。最近的一个是一个电商项目的应用层。整体来说yii的确是一个很好的平衡。
1.自动化crud,让你在有了数据建模之后,瞬间完成界面。
2.layout等view的布局模式,让你可以轻松区块化。
3.灵活的widget机制,重用区块也很方便,这次电商系统页面上复杂的广告位就通过这个来实现的。
4.模块的提供,能让几个团队在同一个项目中轻松分割代码。(运营的活动,都是另外一个开发团队在几个模块先单独去开发的)
5.url manager 的规则,能将一个controller变换成任意客户需要的url link 格式(一开始客户要xxx/product-111.html 后来要xxx/p/111.html最后要xxx/111.html)
6.缓存、session等封装,让你轻松在redis 文件缓存,数据库等之间切换
7.强大的log系统,不同级别的日志,方便trace问题
8.验证部分可能见仁见智,但是对于初期,良好的model+validate的封装,可以重用前端js和后端PHP层的验证,而表单提交的验证,也是最复杂的部分,相对就简化了
9.主题功能,通过不同主题,实现了一期二期的迅速迭代开发。同时也实现了pc版和移动版
10.性能方面,通过opcache,实际上并不慢,可以想见php7支持后,性能仍然可以提高一个层次。千万pv到亿级pv而言,也能撑住,当然如果有这么大的量,您可以选择任何技术架构了。

暂时这么多,有什么问题,大家可以留言,真心推荐startup用yii,只要follow规则,写出来的代码质量也比较高

 
2.phalcon
如果考虑到网站后期的并发量比较高的话,采用phalcon 是最好的选择。本人亲身经历过日pv 千万的应用,phalcon 杠杠的,非常给力

phalcon性能毋庸置疑
CLI工具很好用
路由简单易懂
插件库也很多,很强大
phalcon用来开发接口没得说
扩展能力也很强大

学习起来和ZF的区别不大,门槛也没有想像的高

如果不涉及到api的,lava和yii都行,如果想出国工作的可以选择lava。
如果涉及到api,建议phalcon,入门慢一点,但是性能刚刚的,而且api不需要很多东西,多快好省
3.Symfony2
在国外,Symfony2 一直是企业级php框架的标准,电商也基本使用Symfony2,
企业开发肯定是选择symfony,这是毫无疑问的,symfony几乎是业界的标杆
4.laravel
最近公司做erp,没人管,我就选了个大家都说好的laravel,用laravel写出来的代码的确很优雅,还有很吸引我的是他的数据库迁移功能,团队协作开发时很方便。
说说缺点,路由功能虽然很强,但是有些繁琐,不是很简洁
性能肉眼看来并不是很好
读了一次源码,看到kenerl里路由分发和中间件看段被一堆闭包搞晕了,所以内部实现感觉并不是很简洁优雅
orm并不是很好用
文档翻译的不咋样,原版写的也不咋样,学习成本挺高

文章出处:https://www.zhihu.com/question/25023032

目前最火的php框架的更多相关文章

  1. Android 项目中用得最多最火的第三方框架可能都在这里了

    分类 二级分类 框架名称 简介 Star 数 最近更新 UI 刷新 SmartRefreshLayout 智能下拉刷新框架 14k 18天 UI 刷新 Android-PullToRefresh 比较 ...

  2. 目前比较火的前端框架及UI组件

    看到的一篇总结性的文章,收藏一下,感兴趣的可以自己看看,哪些是已经会的,哪些是没听说过的,哪些是一知半解的,都可以稍微看看. 一.前端框架库: 1.Zepto.js 地址:点击打开链接 描述:Zept ...

  3. Go最火的Gin框架简单入门

    Gin 介绍 Gin 是一个 Golang 写的 web 框架,具有高性能的优点,,基于 httprouter,它提供了类似martini但更好性能(路由性能约快40倍)的API服务.官方地址:htt ...

  4. Android开发之最火的开源框架之一Xutils2详解(摘自开源作者官方介绍详解)

    此框架说实话还是挺不错的,挺好用的,功能多,所以我也用过. 由于CSDN博客写的字数有限制,所以全文的用法打包成了markdown 文件,因为markdown真的太还用了. 全文下载地址为: http ...

  5. 2014年最火的 21个JavaScript 框架

    下面,我们将会介绍 2014 年最火的 21 款JavaScript 框架,专为前端开发者准备的哦:)众所周知, JavaScript 框架是 JavaScript编程语言最棒的特性之一. JavaS ...

  6. [译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序

    本文转自:http://www.skcode.cn/archives/281 本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建 ...

  7. Angular.js!(附:聊聊非原生框架项目)

    最近,为了项目接触了一个很火的前端框架Angular.js,下面就Angular做一个简介吧(大牛请绕步,只针对没有接触过angular的人). Angular.js是一款精简的前端框架,如果要追溯它 ...

  8. 后端视角下的前端框架之Vue.js初探

    背景 作为常年搞后端的自己来说,除了多年前学习的一点关于HTML的皮毛,对现在的前端技术栈可谓是一窍不通.但是因为最近在做的内部业务全链路监控系统,负责前端的同事做到一半去搞别的项目了,为了把项目落地 ...

  9. php优秀框架codeigniter学习系列——前言

    php的框架众多,笔者用过的包括thinkphp,CI,smarty,laravel,也用过一些公司自己开发的框架. thinkphp是国人自己开发的,我大概用过一段时间,基本功能都还好,应该也还比较 ...

随机推荐

  1. Android学习笔记(八)——显示运行进度对话框

    显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一 ...

  2. RSA加密的测试demo

    使用.net自带的RSA,需要引用System.Security.Cryptography 测试环境.net4.6 static void Main(string[] args) { var RSA ...

  3. Decoration6:改数据结构为继承的关系

    一个家装市场有各种登录的角色:设计师.业主…… 这些角色有一些共同的字段,例如passWord,userName,age等等,但是分别又有自己的一些特殊字段,例如设计师要写自己的设计经历,业主可能要有 ...

  4. 危险系数 set容器

    题目描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...

  5. na+mb与gcd

    蒜头君和花椰妹在玩一个游戏,他们在地上将 nn 颗石子排成一排,编号为 11 到 nn.开始时,蒜头君随机取出了 22 颗石子扔掉,假设蒜头君取出的 22 颗石子的编号为 aa, bb.游戏规则如下, ...

  6. hdu 1006 Tick and Tick 有技巧的暴力

    Tick and Tick Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. chrome 插件地址 知乎

    chrome运行内存过大:https://www.zhihu.com/question/20061319 chrome扩展程序:https://www.zhihu.com/question/19594 ...

  8. Android——保存和恢复用户状态

    onSaveInstanceState 保存 在暂停之后和保存之前调用 onRestoreInstanceState 恢复 再启动之后和显示之前调用 package com.example.chens ...

  9. 常见linux内核线程说明

    ps进程名有方括号的是内核级的进程,执行辅助功能(比如将缓存写入到磁盘):所有其他进程都是使用者进程.您会注意到,就算是在您新安装的(最小化的)系统中,也会有很多进程在运行. 在文档kernel-pe ...

  10. C# 静态构造函数使用

    当我们想初始化一些静态变量的时候,就需要用到静态构造函数了.这个静态构造函数属于类,而不属于实例,就是说这个构造函数只会被执行一次,即:在创建第一个实例或引用任何静态成员之前,由.NET自动调用. 现 ...