V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nonfu
V2EX  ›  PHP

Laravel 6.0 正式发布了,是新的 LTS 版本

  •  
  •   nonfu · 2019-09-03 22:19:17 +08:00 · 20310 次点击
    这是一个创建于 1668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没什么大的功能特性更新,主要的卖点是新的 LTS 版本,开始使用语义化版本

    相关新闻:Laravel 6 Is Now Released中文版

    最新文档:Laravel 6.0 Document

    第 1 条附言  ·  2019-09-04 10:40:52 +08:00
    每次都能引起框架和语言之争 其实大可不必 我只想发个新闻而已
    第 2 条附言  ·  2019-09-19 09:50:43 +08:00
    Laravel 学院备用域名: https://xueyuanjun.com
    159 条回复    2019-12-14 10:05:48 +08:00
    1  2  
    Liang
        1
    Liang  
       2019-09-03 22:28:45 +08:00 via iPhone
    又要学了
    nicoljiang
        2
    nicoljiang  
       2019-09-03 22:41:30 +08:00   ❤️ 4
    不吹不黑,
    个人是真心反感所有跟 Laravel 相关的东西。
    avenger
        3
    avenger  
       2019-09-03 22:42:36 +08:00 via iPhone
    @nicoljiang #2 why ?
    nicoljiang
        4
    nicoljiang  
       2019-09-03 22:50:06 +08:00   ❤️ 1
    @avenger 觉得笨重、过时。就是个人偏见吧。
    mamahaha
        5
    mamahaha  
       2019-09-03 22:57:58 +08:00
    不知道 laravel 的作者今年多大岁数了。没有头发真的看不出来年纪。
    mamahaha
        6
    mamahaha  
       2019-09-03 23:05:04 +08:00   ❤️ 1
    @nicoljiang 你这哪叫不吹不黑啊,可以推荐一下比 laravel 不过时的吗?
    dk7952638
        7
    dk7952638  
       2019-09-03 23:08:36 +08:00
    @nicoljiang 你说笨重我还能理解,Laravel 怎么就过时了?
    Vogan
        8
    Vogan  
       2019-09-03 23:12:52 +08:00
    @nicoljiang #4 拿些先进的框架出来看看
    mamahaha
        9
    mamahaha  
       2019-09-03 23:15:56 +08:00
    看了下文档,直接看的 database,这里就加了不少东西,别的还没看呢。
    Varobjs
        10
    Varobjs  
       2019-09-03 23:18:30 +08:00 via Android   ❤️ 1
    @nicoljiang 我也同意,框架还是 yaf 这种做点最基本的事情就可以了,
    剩下的其实都是业务代码,不要被框架限制太死。

    感觉 laravel 吹要喷我不会用了
    nicoljiang
        11
    nicoljiang  
       2019-09-03 23:38:27 +08:00   ❤️ 9
    @mamahaha
    @dk7952638
    @Vogan

    我说过时也是相对的,相对它的笨重。
    嗯,还有一个,低效。

    就这么一个低效、笨重的东西。因为门槛低而受到过度吹捧。
    扭转了 PHP 本身轻便的调性,形成了一个强势的小(并不小)团体。
    而这种隔离却并不是因为「先进」。

    我认为更先进的方式是 Workman、Swoole 这样的,它们使用了截然不同的方式,真正意义上描绘着 PHP 的想象空间。
    门槛低、轮子多,的确是非常重要的,但如果仅仅如此就被捧得天花乱坠,难免觉得德不配位。

    没错,我就是小作坊思维,不懂得你们在团队应用时候的爽点。大规模团队使用,用熟透的 Java 就好了,人家再怎么封装性能也甩开你几条街。

    这强行在一个小马达的电车上里三层外三层武装成装甲车的不伦不类东西,我就是觉得反感。

    反感一切粗笨、低效,却包装得人模鬼样的货。

    以上说的全是个人偏见。

    后话:我只能改变我自己,所以转用 go。
    nicoljiang
        12
    nicoljiang  
       2019-09-03 23:47:07 +08:00   ❤️ 1
    @Varobjs
    是的。一个框架会因为业务轮子多而受到吹捧,真不知该开心还是难过。

    强调一下:我抨击的是「受到吹捧」,而非「用户众多」。(因为方便好用所以)用户多是客观的结果,但过多的赞誉和吹捧,我认为真是不配。
    kran
        13
    kran  
       2019-09-03 23:51:32 +08:00 via Android
    @nicoljiang 说的好棒,laravel 的大面积流行间接让我对 PHP 生态不抱希望。也转了 go。
    dvaknheo
        14
    dvaknheo  
       2019-09-03 23:52:02 +08:00
    @Vogan @Varobjs
    yaf 的问题是 WEB MVC 缺层 的臭毛病 ,缺个业务逻辑层 service.

    没错,DNMVCS 就是最先进的框架。

    DNMVCS 可以做到你的应用和 DNMVCS 系统只有一行关联。 这个是其他 PHP 框架目前都做不到的。
    DNMVCS 用可变单例方式,解决了“系统的调用形式不变,实现形式可变”,比如不用 hack 来改系统漏洞。而其他框架用的 DI 则复杂,不方便调试。
    DNMVCS 的应用调试是最方便的,debug_print_backtrace(2) 堆栈清晰。那些用了中间件的框架的堆栈没法看。
    DNMVCS 的 Controller 是和其他类无关系的,切换的时候很容易。
    DNMVCS 很容易嵌入其他框架。其他框架嵌入就不行了。
    DNMVCS 可以在子目录,不改服务器设置的情况下使用。

    你只要 DNMVCS 的路由也是可以的。
    DNMVCS/Core 是 DNMVCS 的子框架。有时候你用 DNMVCS/Core 也行。

    DNMVCS。 你可以按死,Service 类只能用 MY\Base\ServiceHelper . Controller 类 只能用 MY\Base\ControllerHelper .Model 类只能引用 MY\Base\ModelHepler。 View 类只能用 ViewHelper ,其他类不允许用。也可以规范成 只用 MY\Base\App 类这个系统类。其中 MY 这个命名空间你可以自定义。

    DNMVCS 支持扩展。这些扩展可独立,不一定非要仅仅用于 DNMVCS。

    laravel 的 ORM 确实很强大。但是意味着和 jquery 那样不可调试。

    DNMVCS /Core 没有数据类,因为数据库类不是 Web 框架的必备
    DNMVCS 的数据库类很简洁,而且,你可以轻易方便的替换 (我就把 thinkphp-db 来引用

    DNMVCS 有扩展能做到禁止你在 Controller 里直接写 sql.
    有时候,框架必须为了防止人犯蠢,而牺牲了性能。

    DNMVCS 还有扩展做到 swoole 和 fpm 代码无缝切换。单例变成协程单例。


    赶紧来加入吧。目前现在最大的问题还是应用得不够。

    https://github.com/dvaknheo/DNMVCS
    QQ 群:714610448
    mamahaha
        15
    mamahaha  
       2019-09-04 00:03:31 +08:00
    娶了媳妇忘了娘啊。
    SuperMild
        16
    SuperMild  
       2019-09-04 00:15:25 +08:00 via iPad
    @nicoljiang
    @kran
    其实你们转 go 已经很能说明问题了,如果选择小框架、轻框架,很快就会发现,“咦,我还不如用 go ”。如果没有 Laravel 这种一条龙服务一站式解决方案,在前后端彻底分离的如今,PHP 与 nodejs、go 相比真的有什么明显优势吗? nodejs、go 现在就是差在没有沉淀出一个巨型框架,等有了,贪图 PHP 方便的人还会转一批过去。
    agdhole
        17
    agdhole  
       2019-09-04 00:20:05 +08:00
    @nicoljiang #11 Laravel 的设计模式和过时完全沾不上边
    Keyes
        18
    Keyes  
       2019-09-04 00:23:22 +08:00 via Android
    @dvaknheo 你这一波打得我措手不及。。。

    大团队我宁愿 java,小团队更喜欢 si,主要是代码少比较容易 hack
    nicoljiang
        19
    nicoljiang  
       2019-09-04 00:31:33 +08:00   ❤️ 1
    @SuperMild
    1. 说的好像有了 Laravel,PHP 就能跟 Java 在企业应用方面打一打似的;
    2. PHP 为啥一定要去跟 Node、go 比,而且我不觉得有啥不能比的,Workman 和 Swoole 在某种程度上走出了一条新路;
    3. 如果 PHP 不是都沉浸在什么 Laravel 里,沉迷于写后台,或许谁是人工智能的第一脚本语言,还不好说呢;
    4. 我不喜欢总抱着「都已经到这地步了,还能怎样」的心态讨论问题。
    nicoljiang
        20
    nicoljiang  
       2019-09-04 00:37:57 +08:00   ❤️ 1
    @agdhole
    要不咱还是别跑题了,这贴说的是 Laravel 6.0 的大事件。
    一起为来为这个设计模式的弄潮儿喝彩吧。
    stevenhawking
        21
    stevenhawking  
       2019-09-04 00:44:56 +08:00
    哈哈哈 一个框架就能引入人格之争; 真服了 2L 那货
    cszchen
        22
    cszchen  
       2019-09-04 00:47:39 +08:00 via Android
    框架不会限制你的发挥,如果被限制了,说明你本身就太弱。
    用框架你也可以实现自己的各种类,随心所欲
    fuxkcsdn
        23
    fuxkcsdn  
       2019-09-04 00:53:02 +08:00
    5.2 时公司用过一阵,后来发现它大部分特性在我们的业务上根本用不上,却还要拖这那么笨重的一个框架,直接用 slim 重写了遍
    大团队?出门左转用 java 啊,springboot 不甩你几条街?
    说入门门槛低的,能比 ci、yii 这类传统 mvc 框架入门门槛还低?
    将真,有点 java 基础的,有那时间学 laravel 还不如用这时间去学学 springboot
    agdhole
        24
    agdhole  
       2019-09-04 01:03:22 +08:00
    @nicoljiang #19 有没有 Laravel,PHP 在大型应用上面都不行
    Laravel 的慢,根本上还是 PHP 的毛病,给 PHP 也来一个 V8,用脚写都能飞快
    Laravel 的 Factory DI Observer 等等在现代应用上面也没见哪家不用的吧,把键盘拿给你来实现这些东西,也会写出这么一坨所谓的笨重东西,笨重无所谓,底层快就行了,结果 PHP 到 7.4 了,才把预加载搞出来,也没见哪个嫌 Angular,Asp .Net Core, Spring 慢了是不。
    ericgui
        25
    ericgui  
       2019-09-04 01:21:00 +08:00
    laravel sucks
    nicoljiang
        26
    nicoljiang  
       2019-09-04 01:46:02 +08:00   ❤️ 1
    @agdhole
    这些都不是我的重点。重点是,相比 python 在众多领域的大放异彩,PHP 竟然就 Laravel 拿的出手。
    教徒众多也就算了,还营造了一个相对封闭的圈子,把整个生态带向了奇怪了方向。
    falcon05
        27
    falcon05  
       2019-09-04 01:54:20 +08:00 via iPhone
    @nicoljiang 什么叫就 laravel 拿得出手? PHP 框架是百花齐放,laravel 只是其中一朵,现在有 composer,随便一个框架都能用上各式轮子,国内更多小白用国产 thinkPHP,我用 slim3,也挺好。
    nicoljiang
        28
    nicoljiang  
       2019-09-04 02:15:08 +08:00   ❤️ 1
    @stevenhawking 哪里来的人格之争?别抬杠啊。
    @VEEX6 这好歹也是技术话题。你一个娱乐灌水用户来插言倒是没什么,但是嘴这么脏至于么?
    blless
        29
    blless  
       2019-09-04 02:19:00 +08:00 via Android   ❤️ 1
    讲句不中听的话,哪个厂 api 还是用 xxx.php 就让人感觉很落后,不思进取。没办法 已经固定思维了
    nicoljiang
        30
    nicoljiang  
       2019-09-04 02:53:41 +08:00   ❤️ 1
    @falcon05 我之前也用了 slim3,不过比较浅,只用路由。
    但我并不想评价 Laravel 做为框架到底如何如何,有很多人剖析得更犀利。
    我想强调的还是:不希望看到 Laravel 在分裂 PH。

    PS:
    说起来,Laravel 的最典型用户是不是那种写了一辈子 PHP 不想学 Java 的 “大团队” 技术负责人?
    至于 Laravel 的优雅,我是真不知道一个动态语言强行模仿静态语言的思路搞了一套绕来绕去的东西有什么可「优雅」的。
    HappyImmortal
        31
    HappyImmortal  
       2019-09-04 02:57:56 +08:00 via Android   ❤️ 1
    @nicoljiang

    既然是笨重,门槛为什么会低?难道是你看出来很多无用功的笨重,不如说几个实在的。或者说说高门槛的 php 框架,高在哪,简洁在哪,不要章口就莱。

    小作坊就不能用 laravel 了?为什么就直接和 java 比了?如果真的有心对比,请用控制变量法拿出实例,求一下甩了几条街?

    小马达是指 php 吗?还是 zend ?还是 C?
    一层一层的抽象封装只会更低效。但换来的是使用场景中的便捷。
    你反感的这东西是对抽象,封装的否定吗?

    既然是偏见,就烂在肚子里好了,你在这说,就好像一个人在人群中放了一个屁,然后说,我放了一个屁。潜台词是,你们来闻闻臭不臭吗?

    就不要给 go 打广告了,有人已经因为你而否定了 go,并没有因为你选择 go,而觉得你有品味。
    nicoljiang
        32
    nicoljiang  
       2019-09-04 05:42:28 +08:00   ❤️ 2
    @HappyImmortal
    1. 例子我举了,忽略是你的事;
    2. Laravel 学了 Java 很多东西,用它们相比不是很正常么;
    3. 想了一下 Laravel 针对的对象好像就是个人或小作坊,大厂是不可能主用这个的;
    4. 小马达是 PHP,有一种汽车叫小跑。动力不强,但胜在轻巧、成本低、也有不错的操控乐趣,PHP 就属于这种;
    5. 不反感封装,而是反感过度封装,然后美名其曰:优雅、优雅、优雅;
    6. 我有表达的权利,并且是有人问了我,我才说的,理论上这应该是我跟他的对话;
    7. go 不需要我打广告,也不需要别人觉得我有品位,毕竟不搞 Laravel,基本原生写,没太多逼格需求。

    原本只是个人喜恶问题。既然你们这么爱吹,我就索性来对抗一下吧。搜了一下 Laravel 的资料,发现一些很有意思的东西。

    1. 发现一个非常「 Laravel 」的提问: https://www.zhihu.com/question/31378186
    2. 原来 L 的作者以前并不是搞 PHP 的: https://www.zhihu.com/question/20649538/answer/632562772
    3. 当 Lavarel 真正需要拥护者支持一场极具逼格的大会的时候,却没人参加,没人赞助: https://learnku.com/articles/29778
    4. 都知道 L 打印个 Hello World 也慢,却捍卫得大义凛然。仿佛,程序员就应该追求优雅,而不是性能。

    准备点「回复」的时候忽然看见 v2ex.com 底部一行小字里写着:VERSION: 3.9.8.3 · 29ms。

    不知道现在的程序员们还有多少人这份对性能的追求。
    qqxx520
        33
    qqxx520  
       2019-09-04 06:17:33 +08:00 via iPhone
    个人觉得 php 在吃前些年积累了老本,现在前后端分离的开发方式大行其道,php 的应用空间被压缩。但是也许,laravel 能挽救 php(或者让 php 苟延残喘更久)。
    VEEX6
        34
    VEEX6  
       2019-09-04 06:42:40 +08:00 via Android
    @nicoljiang 我没闲心灌你水,工作就在用。框架不好,所以换语言,很牛的逻辑,已 ban.
    mamahaha
        35
    mamahaha  
       2019-09-04 06:43:40 +08:00
    @qqxx520 PHP"苟延残喘"n 多年了,让多少人恨得牙根痒痒:为啥我都辞职这么久了,上家公司还不破产?
    JaguarJack
        36
    JaguarJack  
       2019-09-04 07:34:24 +08:00 via iPhone
    因为其他框架生态真的不行,要是撸业务还去造轮子。可没那么多时间
    wispx
        37
    wispx  
       2019-09-04 07:35:04 +08:00 via iPhone
    @nicoljiang 附议
    cnbattle
        38
    cnbattle  
       2019-09-04 07:45:05 +08:00 via Android   ❤️ 1
    可以不爱,但别伤害🐶
    jowan
        39
    jowan  
       2019-09-04 08:08:56 +08:00   ❤️ 7
    几乎所有关于 PHP 的主题 都会产生各种阶层的鄙视链
    现在甚至连使用什么框架也产生了这种效应
    我也搞不懂这种悠然而生的优越感到底能体现出什么价值
    jay4497
        40
    jay4497  
       2019-09-04 08:22:01 +08:00
    一个版本发布的帖子都能玩成这样,是 PHP 真的不行了还是这届网友太牛逼了。。。
    netherlanddennis
        41
    netherlanddennis  
       2019-09-04 08:26:04 +08:00
    php 是最好的语言,laravel 是宇宙最好的框架~~
    jowan
        42
    jowan  
       2019-09-04 08:34:34 +08:00   ❤️ 15
    我用 PHP 也用 GO 和 PY 用 Laravel 也用 Swoole
    Laravel 写业务生态丰富 开发效率高 确实高不是么
    再抛弃 PHP-FPM 来个 Swoole 常驻内存加速 弥补一下 Laravel 的性能开销
    有人说 那你直接 GO Java 啊
    确实啊 在三线城市 我给老板说招点 GO 和 Java 吧 老板说招 NMB
    那我说 咱们拿原生的撸吧 这样性能高 老板说 我不懂 反正我这个商城下周上线
    有人说跑个 hello world 慢,但是 QPS 测试你也得同条件比较不是吗
    我们经常自嘲 都用 PHP 了还在乎性能?
    PHP 之所以现在被各种黑,说白了还是它的定位问题
    它生来就是做 web 的,不需什么 gin iris beego springboot 和 flask
    直接用 notepad 新建一个.php 放到 lnmp 下就能跑了
    什么 lnmp 不会装?没关系 各种 “一键安装包” “ WIN/Linux 集成包”.exe|.sh
    路由? index.php 就是路由
    所以入门门槛低 导致太多的程序员水平参差不齐
    那些真正体验到 Laravel 的方便,必然同时感觉到它的问题
    那些人都在忙着用 Go、Java 来分离服务或者整体迁移,没有时间吹捧它的“优雅”
    所以 每个编程语言、框架在还未被淘汰的时候 必然有它的存在的意义
    Laravel 使用者也在鄙视 TP 呀
    比如 老板三天撸成 A 项目系列
    当你发现它的问题并且没有解决的时候 你不会在这里疯狂摸鱼
    当你有能力解决它的时候 也不会在这里泼凉水 甚至钻进被窝一个人偷笑
    lidfather
        43
    lidfather  
       2019-09-04 08:37:59 +08:00 via Android
    2019 php 要被淘汰了吗?
    Canon1014
        44
    Canon1014  
       2019-09-04 08:49:38 +08:00
    我只想说心疼楼主,没有认错的话楼主是某 Laravel 站的站长,好端端的翻译了文章想把消息广而告之,下面一下子就吵起来了??
    或许我觉得这里不是公然 diss 的地方
    dvaknheo
        45
    dvaknheo  
       2019-09-04 08:51:29 +08:00
    @SuperMild 正是 Laravel 让 PHP 走上了 spring 的邪路,丢了 PHP 的优点。
    你说 DI 什么的绕半天,就是想解决 系统的“调用形式不变,实现内容可改变”,我一个可变单例就能解决,而且代码还很清晰。

    你说中间件,通用化 ,好 你堆栈调试不用了,非得要 IDE 才能调试。 而且 nodejs 是因为 js 限制才不得不用中间件。
    我 PHPer 怎么解决? 直接改控制器类的构造析构方法不就是, 而且看起来清晰。 不会出现 “靠,这个是怎么来的,我代码里没这段啊”这种事。

    @agdhole Laravel 的慢,是他做了太多不应该做的事。

    @SuperMild GO 是静态语言。不明白怎么就用在 WEB 这种快速战场了。

    @fuxkcsdn slime 用的 fastroute 路由组件已经是被带歪的影响了—— PHPer 谁会去把 HTTP Method 放在关心的第一位? PHP 命名空间有了之后,多层路径的路由也好解决了。


    大牛们集体批判 Larvel 才会拯救 PHP. laravel 把 PHP 带入了慢笨重的 laravel 能挽救 php(或者让 php 苟延残喘更久)。


    Laravel 的慢,根本上还是 PHP 的毛病,给 PHP 也来一个 V8,用脚写都能飞快。
    Laravel 的慢,是用了不恰当的手段来搞,就像输出个 hellow world,我先搞个虚拟机。

    PHP7 解释器并不慢,PHP 的开发效率并不慢。
    xfcy
        46
    xfcy  
       2019-09-04 08:52:27 +08:00 via Android
    合适的工具做合适的事情咯,只有职业分工不同,没有高低贵贱之分。
    way2create
        47
    way2create  
       2019-09-04 08:52:49 +08:00
    laravel 用起来还是可以的,不考虑性能诸如此类的,某些吹的过分的 php 基础都没学好的优雅党比较烦人罢了,条条框框的确多,毕竟它做的事挺多,甚至可能你很多不需要的,框架就是工具嘛,随你喜欢用哪个,不用 php 都行,某些人打广告怎么给人感觉跟 apijson 似的
    zy445566
        48
    zy445566  
       2019-09-04 09:01:53 +08:00   ❤️ 1
    有利有弊吧,Laravel 以优雅的方式方便了程序员的开发。
    但随之而来的笨重,就和 Spring 一样把大多数语言开发工程师限制在自己的框架里。
    就现在来说你叫 Javaer 不用 spring 框架去开发,那么他的效率就会低的让人发指
    skymei
        49
    skymei  
       2019-09-04 09:11:00 +08:00   ❤️ 1
    其实吧,我觉得 symfony 就挺好,laravel 各种封装的东西,确实让人感觉每发送一次请求都是在叫一个胖子起床一次 😁
    TaAmSf
        50
    TaAmSf  
       2019-09-04 09:17:39 +08:00
    MVC 放着 rails 不用,用这个高仿干嘛?
    phpcxy
        51
    phpcxy  
       2019-09-04 09:19:45 +08:00   ❤️ 3
    是时候亮出我 Laravel 三十年使用者的身份了,我开发的 N 多项目全部都未遇到过性能问题!
    因为我做的项目做一个凉一个,还未遇到性能瓶颈就凉透了。
    lepig
        52
    lepig  
       2019-09-04 09:21:01 +08:00
    5 还没玩明白
    justin2018
        53
    justin2018  
       2019-09-04 09:27:45 +08:00
    GO 有没有类似 Laravel 框架 可以一条龙 😁 -_-||
    nonfu
        54
    nonfu  
    OP
       2019-09-04 09:30:17 +08:00
    @phpcxy 哈哈 你这是黑 Laravel 还是黑你们公司产品呢
    bzi
        55
    bzi  
       2019-09-04 09:30:23 +08:00
    每次都被口诛笔伐,真是惨
    nonfu
        56
    nonfu  
    OP
       2019-09-04 09:31:58 +08:00
    @TaAmSf 谁让 PHP 是世界上最好的语言呢😂
    nonfu
        57
    nonfu  
    OP
       2019-09-04 09:33:36 +08:00
    @bzi 说明有关注度 而且挺高
    nonfu
        58
    nonfu  
    OP
       2019-09-04 09:36:01 +08:00
    @skymei 门槛低 上手快 适合快速做出产品来 有多少产品寿命能超过一年的
    Keyes
        59
    Keyes  
       2019-09-04 09:36:11 +08:00 via iPhone
    @phpcxy 真相,走心了
    nonfu
        60
    nonfu  
    OP
       2019-09-04 09:37:47 +08:00
    @zy445566 确实 使用框架就是为了提升开发效率 同样 使用 PHP 也是为了提升开发效率 鱼和熊掌不可兼得
    visonme
        61
    visonme  
       2019-09-04 09:37:51 +08:00
    LZ 的是告诉你们 laravel 发新了,不是让大伙去评论它的优劣。


    况且就一个开发框架,你们都能比出优劣感出来,这也够呛的
    nonfu
        62
    nonfu  
    OP
       2019-09-04 09:40:35 +08:00
    @mamahaha 30 刚出头 还是个年轻的小伙
    hhh798
        63
    hhh798  
       2019-09-04 09:41:36 +08:00
    互联网界,论垃圾程度,PHP 排第一没人敢说第二
    nonfu
        64
    nonfu  
    OP
       2019-09-04 09:43:12 +08:00
    @Varobjs 萝卜青菜 各有所爱 选择适合自己的最重要
    nonfu
        65
    nonfu  
    OP
       2019-09-04 09:43:47 +08:00
    @mamahaha 他也说了是个人偏见了
    ztxcccc
        66
    ztxcccc  
       2019-09-04 09:47:21 +08:00
    看这个帖子感觉 laravel 不错了,symfony 我感觉国内都没讨论的=。=
    nonfu
        67
    nonfu  
    OP
       2019-09-04 09:47:40 +08:00
    @nioncodotcom JavaScript 也好不到哪去 它们的问题都是早期没有语言大师参与设计 但也正是因为简单易上手 赢得了大量的用户 这个世界上 90%的应用都是数据库前端应用 大部分的需求也就是做个差不多静态的网站、App 带点动态交互功能而已 不过它们都在进化
    killerv
        68
    killerv  
       2019-09-04 09:49:14 +08:00 via iPhone   ❤️ 1
    @nicoljiang 我感觉你对 laravel 和 swoole 都不了解,他们根本不是一类东西,他们并不冲突,哪来的对比?你用过 laravel + swoole 这种组合方式吗?我们项目中就在这么用,性能有极大提升。你通篇全是臆想,没有一点干货,你也没有解释你说的过时。我用 php,也用 go,我只能说各有优缺点。
    TangMonk
        69
    TangMonk  
       2019-09-04 09:53:20 +08:00
    laravel 仿 rails 仿的太厉害了,仿的也不好,用过 rails 的人接受不了 laravel,用着变扭。

    symfony 还不错
    raysonlu
        70
    raysonlu  
       2019-09-04 09:53:21 +08:00
    phalcon 过来打个广告(滑稽
    ben1024
        71
    ben1024  
       2019-09-04 09:53:35 +08:00
    从开发者舒适度来说,Laravel 是很舒服的,有兴趣的开发才有生产力。
    单独为了性能来牺牲自我体验那是资本家的愿景
    yxn1910
        72
    yxn1910  
       2019-09-04 09:53:53 +08:00
    觉得 Laravel 轮子多的,无非是沾了 Composer 的光,这些轮子其实所有支持 Composer 的现代框架都能做到,并非 Laravel 专属。
    剩下的“优雅”,其实是在忽视 FastCGI 的特性再堆叠各种模式的强行“优雅”,最令许多不满 Laravel 的 PHPer 反感的也正是这种“优雅”,以及自欺欺人的“性能无用论”和带着学院风的繁冗复杂崎岖拐弯的实现附加着点沾沾自喜的态度。
    总结起来,就是大家心中各有各的优雅,我的优雅是能打能战强健迅捷,他的优雅是意大利风格花边古罗马雕廊柱,也没必要非争出个子丑寅卯,能正视各自的不足就好。
    nonfu
        73
    nonfu  
    OP
       2019-09-04 09:54:56 +08:00   ❤️ 2
    @nicoljiang 讲性能就不要用 PHP 了,PHP 不是追求性能的,鱼和熊掌不可兼得,就算是 Swoole 也是借鉴自 Node.js 、Go 的产物, 个人建议也是直接用 Go,为什么 Laravel 能火,因为 90%的应用都是数据库前端而已,大量小公司小应用做的事情无非是数据库增删改查,别忘了这个世界上还有 20%以上的网站是基于 WordPress 的,在我看来,Laravel 恰恰是符合 PHP 语言精神的,搞高性能不是不可以,不过一味追求高性能,走静态化编译语言的路,PHP 也就不是那个 PHP 了
    linxl
        74
    linxl  
       2019-09-04 09:56:23 +08:00
    v2 的大佬天天说底层才是重点, 语言不是问题, 一到 PHP 这里连框架都是问题了...
    SuperMild
        75
    SuperMild  
       2019-09-04 09:57:26 +08:00
    @TangMonk 但是 PHP 的学习曲线比 ruby 平滑一些…
    yinjy
        76
    yinjy  
       2019-09-04 09:58:23 +08:00 via Android
    这是要开始刷版本号了?
    sansanhehe
        77
    sansanhehe  
       2019-09-04 09:58:47 +08:00
    某些人用了 go 就觉得自己提升了多少档次似的,真可笑
    kcer
        78
    kcer  
       2019-09-04 10:03:44 +08:00
    语言都是好语言,框架都是好框架,但是使用的人怎么样~就不知道了~
    nonfu
        79
    nonfu  
    OP
       2019-09-04 10:05:00 +08:00
    @jowan 可以说非常接地气了
    killerv
        80
    killerv  
       2019-09-04 10:05:15 +08:00 via iPhone
    @nonfu 没错,如果真的追求性能又可以换语言的话就别 swoole 这么费劲了,直接用静态语言了,php fastcgi 这种模式限制不可能有很高的性能,php 的优势也从来不在性能上。还有我想说 80%的公司根本达不到压榨语言性能的份上,一大堆辣鸡程序员自己代码,sql,设计的问题,直接就甩锅到 php 身上了。
    ibugeek
        81
    ibugeek  
       2019-09-04 10:06:15 +08:00
    国外还有很多人用 laravel,也有很多公司用.net 来开发。但是国内.net 开发已经被喷成找不到工作,要放弃的语言了。
    nonfu
        82
    nonfu  
    OP
       2019-09-04 10:07:05 +08:00
    @Canon1014 哈哈 还好 我睡了个好觉起来看下 怎么就这么热闹了 一个框架有人喜欢 有人不喜欢很正常 好在我们技术的世界有很多选择
    sunznx
        83
    sunznx  
       2019-09-04 10:08:44 +08:00
    @dvaknheo 撇了下你这个框架,就写了那几个文件,"最强框架"?你这几个文件谁不会写?
    dvaknheo
        84
    dvaknheo  
       2019-09-04 10:10:10 +08:00
    @nonfu
    执行性能来说 Laravel 是我见过第一个 PHP 非 IO 瓶颈而是 CPU 瓶颈的。

    Laravel 恰恰是符合 PHP 语言精神的, 错了,Laravel 不符合 PHP 精神,符合的是 Java 精神。

    PHP 精神就是开发快速,简洁,知根底。不要捧一大堆东西才能上手。调试方便。中间件就不符合 PHP 精神。

    Laravel 的火, 就是因为外国月亮圆,人家会宣传啊。引入国内,面向工资编程啊。
    nonfu
        85
    nonfu  
    OP
       2019-09-04 10:10:38 +08:00
    @ztxcccc laravel 还是有生态的 symfony 在国内算是小众框架了
    stevenhawking
        86
    stevenhawking  
       2019-09-04 10:14:45 +08:00
    @nicoljiang
    “个人”“真心”反感,这句话提交给任何一个 AI 文本处理分词服务都是出自人格的定义吧
    nonfu
        87
    nonfu  
    OP
       2019-09-04 10:18:33 +08:00
    @dvaknheo 你这么说的话 PHP7 都引入类型约束了 JavaScript 也有 TypeScript 了 整个世界都 Java 化了 好的东西就是要借鉴 比如 Composer 的引入明显要比之前 PHP 那种引入外部依赖的方式先进的多 Laravel 应该是 PHP 框架中第一个引入 Composer 的 我就不明白怎么有人还能说它封闭 一个框架火与不火 还是在于好不好用 在它适用的场景能不能满足大部分开发者的需求
    agdhole
        88
    agdhole  
       2019-09-04 10:20:20 +08:00
    @dvaknheo #45 PHP 解释器慢不慢,也得和其他东西比,光输出个 hello world 看着性能很高,一上大型应用就歇菜,隔壁 Node 也有类似于 Laravel Spring 的框架: https://adonisjs.com/ ,有 V8 撑着,怎么实现都无所谓,慢不到哪里去
    如果你要把 PHP 定义成非常简单的脚本语言,这样才符合 PHP 精神的话,那么 PHP 的开发组和你的定义完全在走相反的路。
    SuperMild
        89
    SuperMild  
       2019-09-04 10:23:33 +08:00
    @dvaknheo 你说的 PHP 精神 “开发快速,简洁,知根底” 也许是以前的 PHP 精神,但是如果守旧不变,竞争力真的所剩无几了,现在前端很多都采用 react、vue 之类的,而且这是趋势将会越来越多,而后端如果不提供一条龙服务只关注 “开发快速,简洁,知根底”这三点的话,python、nodejs、go 都不比 PHP 差。

    你们一边说着喜欢 PHP 的短平快,但正是你们这些喜欢短平快的人率先转 go 去了。

    如果你真心认为 PHP “开发快速,简洁,知根底”是核心优势,则完全不需要管 Laravel 如何发展,都不会影响你使用 PHP 的原生功能。
    st2udio
        90
    st2udio  
       2019-09-04 10:24:46 +08:00   ❤️ 2
    我有一个自己的项目,里面都是 API 请求,每天 30 万次左右,就是 Laravel 写的。后来我把 API 换成 go 进行尝试,响应是提升了。但是对用户感知我觉得并不大。Laravel 的时候一样跑的好好的。而且写起来速度快一些。

    我根本跑不到压榨性能的地步,有什么好追求高性能的。我 2 台 1 核 1G 的小机器跑 Laravel,每天就两三万人用,跑的好好的。我 API 都走的 API 网关,我可以随时切换某些接口到其他语言上。
    我觉得 PHP 很多时候的定位不就是如此吗?有多少网站可以跑到性能瓶颈的(除了代码实在有问题的)

    所以拿着性能来说我觉得挺没意思的,追求高性能我直接用 go 也行呀。但是不应该先审视自己的项目需要不需要?自己的团队适合不适合?一味拿来性能来说事。
    nonfu
        91
    nonfu  
    OP
       2019-09-04 10:28:07 +08:00
    @agdhole 「光输出个 hello world 看着性能很高」莫名戳中笑点 有些框架确实为了性能评测做了优化 我 web 根目录下放一个 index.php 里面写个 `echo 'hello world';` 性能应该也差不到哪去 搞不好还能跟 Go、Java 拼一拼 如果还能做个静态化更厉害了 有些框架看起来性能好 就是这样的原理 Laravel 确实启动时加载了一堆东西 但是这些东西对后期开发效率和可扩展性而言 都是利大于弊的
    nonfu
        92
    nonfu  
    OP
       2019-09-04 10:31:53 +08:00
    @st2udio 是这样的 有没有看过一个笑话:有家公司领导听说 go 性能好,让团队把原来 PHP 写的应用用 go 重构,然后上线了撑不住,增加了一倍机器。
    linxb
        93
    linxb  
       2019-09-04 10:38:12 +08:00
    @nicoljiang 反感你还点进来评论,找不自在还是刷存在感?
    cccRaim
        94
    cccRaim  
       2019-09-04 10:39:18 +08:00
    好多人说到了 php 精神,php 精神是啥?
    dvaknheo
        95
    dvaknheo  
       2019-09-04 10:43:13 +08:00
    @sunznx
    强不等于代码要多。

    DNMVCS 的代码,只有一小部分是不得已让初学者需要啃的。大部分就很直白的就是为了解决问题。都是为了围绕业务,而不是各种兜圈子,所以代码量就少了。

    你要这么 比的话

    比较起来 slim 框架 src 代码 3579 行

    DNMVCS 全部 src 代码 5302 行
    其中可扣除 SwooleHttpd 4074 行(扣除 1228 ) SwooleHttpd 或许会拆分出去
    DNMVCS/Core 核心框架 1682 行 DNMVCS/Core 或许会拆分出去
    DNMVCS/Core/Route.php 298 行 ,你只想要个路由,那就把 Singleton.php 加进来就够了,不需要其他东西了。其实还有一段支持 / 后做参数的 我觉得还能再精简,放到扩展里。 命名空间下,不太需要这个东西。
    DNMVCS/Core/Singleton.php 23 行

    你说是多呢还是少呢?
    heiybb
        96
    heiybb  
       2019-09-04 10:47:43 +08:00
    symfony 路过= =
    mingyuexin
        97
    mingyuexin  
       2019-09-04 10:49:39 +08:00
    没感觉到 Laravel 有啥优点,也没感觉到有啥缺点,因为别的咱也不懂啊。 只知道可以顺利的做出东西来,这样就可以了。
    xhinliang
        98
    xhinliang  
       2019-09-04 10:54:40 +08:00
    Laravel 的慢,根本上还是 PHP 的毛病,给 PHP 也来一个 V8,用脚写都能飞快。
    --
    @dvaknheo 纯扯淡...
    xhinliang
        99
    xhinliang  
       2019-09-04 10:55:41 +08:00
    很多人说 Node.js 性能高,其实就我实际应用来说,跟 Java 还是差一大截。
    dvaknheo
        100
    dvaknheo  
       2019-09-04 10:56:07 +08:00
    现在前端很多都采用 react、vue 之类的 。 然后 PHP 只要输出 json 就够了,省了很多力气。

    PHP7 都引入类型约束。 不影响 PHP 可以用动态类似做一些灵活的动作, 比如 静态类型的 Java 为了 实现“调用形式不变,实现形式可变” 这个费了 N 多行代码。我一个 20+行 trait 解决

    Composer 确实是好东西,但不代表 Laravel 就是好东西啊。
    Swoole 是好东西,给 PHP 开了新世界 但是 碰到 Composer 第三方包的 static 就有局限了。

    P++ 我认为也应该做起来,先在 PHP 外部做,后面成熟了才看看能否进入 PHP

    PSR 标准,大部分是好的,但也不全是好的啊,cache 那部分就是因为太 Java 了导致了分裂 , 后来 simple cache 才是 PHP 的精神。

    response ,request 。PHP 的官方应该给个接口和实现。而不是现在各家用 PHP 来做,算是降低效率。
    middleware 就是我抨击的,让堆栈没法看。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1247 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 17:57 · PVG 01:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.