你选择laravel框架的理由有哪些

你选择laravel框架的理由有哪些?

前言1:我个人使用laravel的时间和场景极少,所以主观上对于 laravel 的优势感受极浅,甚至觉得 laravel 在某些地方过度设计(主观、主观且使用不多,勿喷)。

前言2:理性讨论,而不是 《你用了就知道了》、《xxx框架是垃圾》、《建议你深度使用》诸如此类,我希望从重度使用用或者实际需求者了解更多让我也会选择 laravel 的理由,谢谢。

前言3:本贴不是为了框架对立或者评判框架好坏,所以我希望不止是指出 laravel 相关数据、排名以及地位,我认为这些是 laravel 优秀的结果而不是理由。

疑问

网上冲浪/论坛/面试大部分人对于laravel的评价 主要是 生态、规范、优雅。所以在你的实际使用中 laravel 有哪些你认为是你选择他而不是选择其他框架的理由?或者你认为比其他框架强的地方有哪些?

我目前个人了解的有以下几点,希望你能补充更多:
1. 生态 ≈ 拓展多 (比其他框架有更多拓展包?)
2. 规范 ≈ 约定高于配置 (比其他框架有更强的编码规范约束?)
3. 设计模式丰富
4. 安全性
5. 国际影响力

参考:

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
godruoyi
最佳答案

这里是为什么 godruoyi.com/posts/why-laravel/

8个月前 评论
snakelis (楼主) 8个月前
godruoyi (作者) 8个月前
nff93 8个月前
snakelis (楼主) 8个月前
snakelis (楼主) 8个月前
讨论数量: 77

file

8个月前 评论
MArtian (作者) 8个月前
snakelis (楼主) 8个月前
snakelis (楼主) 8个月前
JaguarJack

Laravel 可以快速出产品,就这么简单!

8个月前 评论
snakelis (楼主) 8个月前
梦想星辰大海

因为我只会laravel或者是类似laravel的东西。

8个月前 评论

6年laravel。

如果做一个项目用laravel:

  1. 功能完善:

    1. orm: 不管多复杂的sql,orm都可以构建。
      (我不晓得tp是否可以,但是我记得tp5: $model->clone()都不支持,印象很差)

    2. 原子锁举例,我特意去看了tp8,并没有这种功能。

    3. 单元测试必须要有,虽然我不写测试,但是拿来debug挺方便的。

  2. 生态完整,常用的easychat oss dcat-admin等。 相比其他框架,也不算突出的优点。

没有代替品,所以就一直laravel。

8个月前 评论
喝卵形 8个月前
snakelis (楼主) 8个月前
snakelis (楼主) 8个月前
lyxxxh2 (作者) 8个月前
snakelis (楼主) 8个月前
snakelis (楼主) 8个月前
老衲爱饮酒 8个月前

用laravel能节约人工,能赚钱。。。。 省事,易维护,规范。。。

8个月前 评论
snakelis (楼主) 8个月前
snakelis (楼主) 8个月前
gowithwind 8个月前
芝麻开门 (作者) 8个月前

laravel是很工程化的框架,本身就很重,但是好用,而且用的人多也是优势。其实Yii的设计我也挺喜欢的,但是以前有段时间传出作者不打算更新了就没有用了。

8个月前 评论
snakelis (楼主) 8个月前
godruoyi

这里是为什么 godruoyi.com/posts/why-laravel/

8个月前 评论
snakelis (楼主) 8个月前
godruoyi (作者) 8个月前
nff93 8个月前
snakelis (楼主) 8个月前
snakelis (楼主) 8个月前
翟宇鑫

生态是我选择语言或者框架甚至其他所有工具、软件,比较重要的一个前提
过度设计我确实也觉得
但随着不断的发展,需要兼容主框架的各个版本、依据其开发的扩展包
以 Laravel 作者的强迫症,个人更愿意相信这是不得已而为之 :joy:

8个月前 评论
snakelis (楼主) 8个月前

理由如下:

file

file

8个月前 评论
snakelis (楼主) 8个月前
Imuyu (作者) 8个月前

用一句你不爱听的话来说建议你深度使用。我不是第一次听到说laravel过度设计了,我曾经一度也这么认为,但用久了以后并且自己封装一些基础架子后我想说的是是否过度取决于他给你封装的工具你是否都能合理利用。如果你写一些远古的cmsSmarty完全够用甚至说是非常合适。倘若你写远古的cms还引入了一大堆用不到的composer包,甚至说有很多composer包能够利用但是自己不了解还依然自己封装类以及方法,这种所谓的过度设计完全源自于使用者的愚蠢。我不止一次见过用laravel8.x以上的人在没有特殊情况下多次封装curl,明明laravel已经提供了很简便的HTTP 客户端方法了。我自己打架子都会想这个类这个方法是否能大量复用或者是否通用,难道laravel的众多作者想不到吗?更多冗余的已经通过官方扩展包的形式放在了文档中。Laravel定位其实就是中大型,基本上不存在过度设计,就算存在作为免费的使用者我觉得也没什么资格挑剔,就像前段时间有人说宝塔怎么怎么样,作为一个免费的使用者,既不是目标付费人群,也不是创造者,有什么资格再去挑剔呢?去学一学数据库迁移学一学授权策略学一学数据工厂,你会发现很多东西都是很好用且规范的,如果你不能去深入学习了解一个东西,那么你所有的评价无一例外都是带着有色眼镜的,尽管你的主观认为自己理性且保持客观,但你的潜意识终究影响更大。

8个月前 评论
working (作者) 8个月前
snakelis (楼主) 8个月前
working (作者) 8个月前
snakelis (楼主) 8个月前
working (作者) 8个月前

我工作中都没用过 laravel,公司用的 yii,我感觉 laravel 版本好多,为啥不搞个长期支持版 :joy:

8个月前 评论
Imuyu 8个月前
gowithwind 8个月前

老夫 laravel ctrl+c ctrl+v 一把梭,懂其中的含金量吗?curd而已,laravel能找到90%所遇问题的解决方案

8个月前 评论
snakelis (楼主) 8个月前

多看文档,同时多想用处,等别人问你为什么觉得Laravel没有过度封装,拿出一个完美优雅的项目然后来一句无他,唯手熟尔。我受益的目前有artisan命令行,任务调度,Http客户端,tinker命令行,统一的缓存驱动配置,以及扩展包发布配置文件、队列、队列监听、订阅者、辅助函数、blade模板、数据库迁移填充等待

8个月前 评论
snakelis (楼主) 8个月前

轮子多,生态丰富,出活快,

8个月前 评论
slowlyo

laravel 的源码读起来赏心悦目, 学习它让我自己写的代码也越来越漂亮

N1f6M90TTS.png!large

8个月前 评论
snakelis (楼主) 8个月前
cccdz 8个月前

可维护性与生态完整。“代码是给人看的,只机器恰好可以执行”

8个月前 评论

作为laravel生态开发的参与者,它的宏设计(Marcoable)也是让人赞赏的原因之一

8个月前 评论
snakelis (楼主) 8个月前

来社区问,你得到的答案也会是大同小异的

  1. 规范,规范,还是 TMD 规范
  2. 生态好,轮子多到比 thinkphp 的 star 多多了
  3. 建议多用用,还是建议多用用
  4. 建议下载并购买一个 dash,阅读 Laravel 框架的相关 API,或者访问 API
8个月前 评论
snakelis (楼主) 8个月前

这就是php衰落的原因之一。 大家还在争论这个框架是不是过度设计,和别的框架相比有什么好处。 我认为语言的框架越复杂越好,打厚底座,兼容所有场景,所有程序员都是一套规范,离职换个人都能继续开发,很少的代码与框架解释成本。

就像java,都会spring,springboot等相关spring家族技术框架。 当一个公司的技术团队有10000人以上时,你不得不考虑这个问题,如果人员的每年变动率是10%,则每年要更换掉1000个技术岗位,这时框架的统一性尤为重要,找一个市面上社区最统一,最规范最标准的框架作为公司的技术底座非常重要。

至于过度设计,会有资深大牛团队解决这个问题,比如我司已经把spring肢解了,在对spring框架本身大量裁剪与增强的同时,也封装了大量的功能组件,但整体设计思想还是参考的spring的优秀设计,所以每年大量招聘的程序员都可以理解。

再说php,laravel已经是社区流行度最高的框架,但再我看来,功能还是需要完善,底座仍不够厚,不存在过度设计,需要社区齐心协力统一标准,大力发展。

最后补充一下,有的人会觉得过度设计会增加学习成本,这个不存在,当需要一个功能时一搜网上一堆解决方案要比啥也没有效率高很多,所以学习成本不是全部学完的成本,还要包括网上搜索解决方案的成本,在这一方面来看,遇到复杂功能时,php的小众框架会增大学习成本,延长开发时间。

8个月前 评论
snakelis (楼主) 8个月前
ononl 8个月前
snakelis (楼主) 8个月前

因为有livewire,laravel的全栈框架组件,对全栈开发有好处,不需要前端技术了,例如vue是数据双向绑定,但livewire它是数据双端绑定,前端和后端,这样逻辑处理就可以直接放在后端,前后端通信不需要写API接口了,也不许要单独写vue的路由了,直接用laravel的就行,也同样可以实现单页应用,局部更新,岂不是爽歪歪。

8个月前 评论
snakelis (楼主) 8个月前

对我来说,就是:

  • 用顺手了,开发速度快;
  • 生态好,很多东西都有相关的集成插件
  • 社区生态好,有问题,去 github 搜索都能找到答案
  • 更新及时,很多新功能,以及 bug 修复会很及时
  • 自带的组件全面,几乎涉及到web 的常见开发
  • 性能不是我的第一开发选项,开发速度快才是
  • 我常遇见的场景都是短链接的场景,所以 Laravel 适合
8个月前 评论
snakelis (楼主) 8个月前
  1. 可以快速出产品,就是最大的优势。
  2. 经过调优,性能并不差。
  3. 有完整的生态支持。

不过也有不喜欢的地方(也可能是现在很多语言的通病),语言和框架迭代快,导致生态依赖有些跟进不及时。

8个月前 评论

除了性能稍微差一点吧,当然了大多数项目流量完全够用,开箱即用,真可谓"懒人"专用框架,习惯了就会养成惰性,不想用别的框架了,除非性能影响到业务。 :sweat_smile:

8个月前 评论

一个词:web开发的最佳实践。

8个月前 评论

就两字 生态!还是tnd的生态!目前没有哪个框架有它这么好的生态。要实现个啥 一搜一大堆的包。当前的winphone是怎么消失的 还记得吗?成也生态,亡也生态。如果国产框架有这么好的生态,何愁没有人用?

8个月前 评论
fatrbaby
  1. 用 Laravel 写代码有一种老便秘通畅的感觉
  2. 比较容易写出漂亮且可维护的代码 (我司的自研框架恰恰相反)
  3. 能让人专注于业务
  4. 有明确的优化指南和最佳实践
  5. 生态比较好
8个月前 评论

又想起一个东西,很多有特色的优点都可以在编码技巧中看到

8个月前 评论

方便、快捷、规范
1、最简单的dd打印调试,和框架报错提示,一目了然
2、命令行集成强大,创建模型、控制器、数据库、tinker、定时任务,都能融汇在一起,太优雅了
3、路由规范,看路由可以快速定位到业务
以上,冰山一角

8个月前 评论
gowithwind 7个月前

在我看来容易被学习的意味着你容易被取代,我目前没有故意学laravel, 之前用过codeigniter, thinkPHP, laravel chatGPT, copilot 一问你也容易就会了。node vue react 我学了一年已经可以搞个优秀的作品了,当然全靠现在的chatGPT 和 vscode 的 copilot 的协助之下。

接下来,我会直接学最流行的 golang 和 python,chatGPT 和 vscode 的 copilot 就是我的师父,我的老师!我相信在chatGPT 和 vscode 的 copilot 的协助之下,6个月可以把这2个语言学精通。嘿嘿!!!

8个月前 评论

我个人是从18年开始用的tp3,我记得当时自己技术菜,纯自学,二开的别人的项目,结果三天两头的出问题,等到我一年后有些经验了才发现当初拿来当母版的代码是带木马的,那会就感觉这玩意咋这么多漏洞啊。

后来从3.2到3.5再到5,我都一直在用,属于是一边骂一边用的状态,虽然他有缺点但是他用起来确实爽。然后偶然间我了解到了laravel,就像是打开了新世界的大门,我不知道该怎么描述这种感觉,也许是我自己水平慢慢提高了,也许是我发现了learnku跟着教程进行了系统的学习,以前用tp遇到的问题,bug之类的在用laravel的时候几乎没遇到过。

所以如果让我来说说我的感受,应该就是tp是我技术上的垫脚石,让我更快的进入了code的世界吧。不知道现在tp的发展怎么样了,希望他的漏洞能越来越少吧(我有一个搞这方面的朋友总找我给他审计tp的代码)

7个月前 评论

因为Laravel社区活跃,都是一些活的人,个个都是人才,说话又好听,还能学到很多东西。

7个月前 评论

很久以前,面试会laravel比只会tp逼格高一档,所以学了laravel :joy:

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!