个人对于Laravel与Lumen的选择
Laravel是一套简洁、优雅的PHP Web开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力、易于理解,不管是大型应用或者小型应用它都为我们提供了一个愉快的开发环境以及符合程序开发的设计架构,如IOC设计模式与MVC模式等。
Lumen是Laravel开发者专门针对开发API或者Service而设计的一个轻量级框架,由Laravel官方团队维护,其代码可在不进行修改就可放在Laravel上运行,从无数据库等单纯的请求来说,它是目前速度最快的PHP框架之一。
Laravel如今的火热程度不亚于任何一款PHP开发框架,如今PHP基本依赖于Compoer,它可以说是PHP的未来,Laravel与Compoer的结合使用,可以让你在一开始就已经准备好了开发的一切,并且每次更新都伴随着PHP更新的新特性,使用了大量的设计模式,降低了模块之间的耦合程度,使其更方便扩展,大量的扩展包,文档齐全,社区活跃都可以让开发者更快更容易开发出理想的应用。
Lumen与Laravel都是由相同的官方团队开发而出,目前从中国社区上看可以看出官方更偏向于Laravel的更新维护,Lumen为象征性更新。
Laravel的标语为:为WEB艺术家创造的PHP框架,Lumen为:为速度而生的Laravel框架,以上我们就可快速看出Laravel与Lumen的区别与关系,Lumen本质其实为Laravel的精简版,去掉Laravel其中面对API或者Service无用的组件便为Lumen,同时也衍生出问题,面对Laravel与Lumen该如何选择,不少开发者都纠结于这个问题,相对来讲,我并不推荐使用Lumen,理由为以下几点:
- 两者虽输出同源,但官方更偏向于Laravel,文档于社区活跃度也是Laravel更胜一筹。
- Laravel已经包含Lumen的所有功能,Lumen虽说可以在Laravel运行,但Compoer与扩展Lumen却缺少了很多的支持,时常出现无法使用的情况,这种情况只能重复造轮子。
- 盲目追求性能使用Lumen后发现编写代码困难,然后开始往Lumen里面加各种Laravel已有的组件
- 目前网络上各种测试性能文章都是在单纯、逻辑简单的情况下进行测试,实际应用中我们的业务逻辑比其复杂几倍,上述文中提到,在无复杂数据操作情况下,Lumen速度的确为最快框架之一,但当我们进行数据库连接或者更加复杂的数据出来来说,框架之间本身的速度差异便显得微乎其微,更应该注重数据的优化以及存储方式
- 开发者的水平不一,同样的框架不同的水平从业者编码后所产生的效果也是相差甚大,相同的功能响应速度不一样是常有的事,我们更应该关注代码的编写习惯,有好的结构好的设计模式能够很好的帮我们解决各种性能与复杂的逻辑
Laravel团队也注意到了现如今火热的前后分离、纯API、微服务开发,在版本中也给予了很大的支持,分离出了WEB模块与API模块,开发者可以直接按类型在上面进行快速的开发,而不用纠结于是Laravel还是Lumen。
综上所述,个人相对来说推荐使用Laravel,它本身就很优雅,准确合理的使用它才能再应用中发挥它的长处,避免重复轮子,合理的拆分逻辑与数据优化才是我们应该侧重的重点与学习的方向,框架之间性能好坏并无伤大雅
本作品采用《CC 协议》,转载必须注明作者和本文链接
什么都不要考虑,就选laravel
不太建议选 Lumen,甚多生态都不兼容。如果主要考虑性能,可以选择 Swoole 生态的框架,比如 Hyperf、easyswoole 等。
Laravel + octane 满足你个人要求
官方现在都不推 lumen 了,及早脱坑吧
lumen是一个残疾外星人,laravel是一个健全外星人。残疾外星人要比健全外星人轻一点,但轻不到多少做事还碍手碍脚。这个比喻能懂?
为什么用外星人举例,因为不会有外星人说歧视。
写这么多没啥用。创始人之前好像是有个推特,就说过要无脑选择 laravel。
光性能一项就劝退了
你可以等等,开发组正在开一个新的项目。轻量级的框架。主要用于 API 项目的
我没啥好说的,给你复制一下官网安装第一步。 :grin:
之前选型也做过对比,最基础的测试 lumen 数字确实好看,但是一回到真正的应用场景,开这个功能加那个包,最后发现和 Laravel 差不多,还多一堆配置的时间,稳定性还存疑,所以最好的选择还是 Laravel + octane ,开箱即用。
我选hyperf :grin:
现在部门全是 lumen,用下来的感受是,不如直接 laravel,现在可以考虑 laravel+octane
laravel 太消hao性能了。一台服务器运行两个以上应用,基本跑满系统资源。
不止要选Laravel,还要使用web的相关中间件,不要使用api.php。问就是session一把梭。
我们是大项目用laravel,小项目用lumen,目前用lumen没遇到解决不掉的问题
还是搞laravel,lumen文档都没及时更新