Laravel 还是 Lumen?
Laravel 还是 Lumen?相信有不少人在纠结这个问题,相对来讲,我并不推荐使用 Lumen,因为作者的更新维护很明显还是偏重于 Laravel 的,还有一个理由就是 Laravel 已经包含了 Lumen 的全部功能。
不要盲目追求性能,见到很多朋友出现的一个通用现象,在使用 Lumen 的时候各种想办法解决在 Laravel 里已经有的东西,比如 Session、模版引擎等,首先在姿势上就已经不正确了,它本就不是为了这种场景而生的东西。
最核心的一点很多人没有注意到,网上各种框架性能对比,都是在特别小的逻辑环境下测试的,但是,我们的应用远比它们复杂得多。所以,当你把一个应用开发完成时再来对比,你就发现差异并没有那么大了。在这种情况下我更倾向于更快的开发速度,更低的维护成本。
很多人一讨论性能就把这个问题的讨论点始终放在框架与语言上,这是错误的。同样的语言,同样的框架,不同编码水平的人,写出同样功能,性能也可以差几十上百倍。举一个真实的特别典型的例子,之前交流群里一哥们问了一个问题:为啥我就一个首页文章列表,Laravel 跑起来这么慢啊?这框架性能也太差了吧?结果点开他贴图一看,debugbar 上显示这次请求一共产生了43 条 SQL ……,他在循环里查询作者信息……,后来告诉他细看文档使用正确姿势以后,3 条 SQL 解决了问题。
关注结构,好的设计模式能够很好的帮你解决项目各模块间的复杂关系与交错的逻辑。网上有很多不错的模式实践,以及很多朋友基于 Laravel 做的开源项目也都有着不错的代码结构设计,比如 Summer 的 phphub5,当然了,这里也厚着脸皮推荐一下我写的一些轮子:https://github.com/overtrue。
看到很多朋友在 Laravel 里写着面条式的代码,挺心疼的,建议大家去仔细阅读并领会 Laravel 作者写的那本书《From Apprentice To Artisan》,开源中国有朋友翻译,叫《从百草园到三味书屋》。里面有很多关于 Laravel 作者对框架设计的思维模式,以及很多编码及应用架构方面的分享。
Laravel 本身就很美,加上正确的去使用,才能在我们的应用里发挥它的长处,避免面条式的代码,合理的拆分逻辑,才是我们应该努力学习与改进的地方,而不是整天纠结选什么框架与性能好坏。很多人说 Laravel 入门太难,不像某些框架那么易上手。连 PHP 基本语法都用不熟悉的人,确实上不了手,毕竟,这样的人就像木偶,需要一个人给他定死步骤拉着走才能知道干什么。
人生苦短,我用 Laravel 。
本作品采用《CC 协议》,转载必须注明作者和本文链接
高认可度评论:
上周整理了那篇《从百草园到三味书屋》,oschina 格式看着眼睛疼 : github.com/myxiaoao/FATA
再次感谢 Taylor Otwell 和 译者
抓住一只复制粘贴超 :laughing:==链接见页面底部的阅读原文==:laughing:
上周整理了那篇《从百草园到三味书屋》,oschina 格式看着眼睛疼 : github.com/myxiaoao/FATA
再次感谢 Taylor Otwell 和 译者
@Cooper :+1:
@felixjing 已经修复了哈哈
@overtrue :laughing:
治愈了 好多纠结症 哈哈
《从百草园到三味书屋》写的真的很棒,我一直推荐给团队的新同学。
说得很好,啥时候把lumen.laravel-china.org的域名干掉?
最近在用lumen,将公司的laravel4.1更新到lumen5.2 当你写纯粹的API的时时候,在不需要模板,以及session的支持下 lumen是可以考虑的
已经打赏6.66 :bowtie:
@mostwin 666,感谢
@Cooper 感谢做的贡献,小建议:可以编译一下放到公网上,让所有人都能看到!:+1:
@Destiny 更新啦:myxiaoao.github.io/FATA/
@Cooper 真好!谢谢!:thumbsup:
一脸的二维码 :cry:
一脸的二维码 :cry: , 是不是可以弄小点 400px 差不多
@Cooper 正想着这个周末整理下,没想到你这么快,手动点赞:+1: :+1: :+1:
只看标题不看内容就已经知道答案了。人生苦短,我选 Laravel。
离大神越来越近了!
lumen 和laravel 已经很清楚了!
使用 luman 作 microservice 還好吧
@jl9404 嗯
从功能分类上来说 laravel 属于全栈框架,而 lumen 是微框架。
微型框架基本上是一个封装的路由,用来转发 HTTP 请求至一个闭包,控制器,或方法等等,尽可能地加快开发的速度。
:+1:
有没有大佬能提供个按照《From Apprentice To Artisan》思想实现的demo,让小弟学习一下