开始觉得我对 Laravel 的厌恶不是空穴来风 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mcfog
V2EX    PHP

开始觉得我对 Laravel 的厌恶不是空穴来风

  •  
  •   mcfog 2014-12-26 17:31:02 +08:00 10714 次点击
    这是一个创建于 3953 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Doctrine太笨重,最近换ORM用

    调查了半天,发现Eloquent脱离Laravel还算能活,于是用之

    嗯,自带Mutator和日期转换,出发点不错

    //protected $dates = ['date_field']; $model = find_one_model(); $model->date_field->addDays(3); $model->save(); 

    然后就吐了,看了看实现,就觉得我对Laravel的厌恶不是空穴来风,而是对烂代码的天生直觉

    还有什么属性名字是snake而非camel
    作配置项的property满地都是(28个),而且有的public有的protected有的static有的非static
    大量方法都(new static)->xxx 毫无意义的构造实例

    各种槽点

    27 条回复    2016-09-18 19:10:23 +08:00
    kslr
        1
    kslr  
       2014-12-26 17:41:12 +08:00   1
    莫名其妙,你可以提交一份代码
    况且有洁癖适合用自己的
    tini8
        2
    tini8  
       2014-12-26 17:42:51 +08:00
    PHP的语言特性,决定了造不出来优雅的框架,php其实直接用就是了,这才是php的优点,快糙猛,容易部署
    gno23x
        3
    gno23x  
       2014-12-26 17:46:54 +08:00
    有洁癖的话还是用回Doctrine吧,不需要ORM的话,Doctrine/DBAL也不错。
    pertersonvv
        4
    pertersonvv  
       2014-12-26 17:54:29 +08:00
    今天看到好多人说Laravel很好,楼主为何厌恶它呢?
    mcfog
        5
    mcfog  
    OP
       2014-12-26 18:00:09 +08:00
    补充一下那段代码的槽点

    mutator是每次get的时候生成新的结果,每次set的时候才会更新内容

    所以mutator的结果如果是对象或者数组(嗯,比如自己带的日期`Carbon`对象)的时候,只有直接set整个field才有效果,改对象或数组的内容全都是无效的
    mingzhi
        6
    mingzhi  
       2014-12-26 18:06:04 +08:00
    个人意见.语言特性,不能决定框架的优雅吧.. 不小心点感谢了
    G2bN4dbX9J3ncp0r
        7
    G2bN4dbX9J3ncp0r  
       2014-12-26 18:20:40 +08:00
    楼主昨不用rails, Laravel和rails很像
    kmvan
        8
    kmvan  
       2014-12-26 18:24:32 +08:00
    空穴来风这成语能少用就少用吧,容易引起歧义。
    cattyhouse
        9
    cattyhouse  
       2014-12-26 18:25:21 +08:00 via iPhone
    慎用 空穴来风
    bcxx
        10
    bcxx  
       2014-12-26 18:30:30 +08:00   1
    snake_case 可以用 attribute 来改写啊……

    FYI, 要 OO 一点就不要直接去访问类属性……

    (new static) 是因为不想因为共享 mutable 对象啊…… 掉过坑就指定这样做的好了(虽然还不够彻底……)

    (其实这都不关人家事好嘛……
    roushan
        11
    roushan  
       2014-12-26 18:32:52 +08:00
    用PHP还搞面向对象?
    roychan
        12
    roychan  
       2014-12-26 18:46:25 +08:00
    空穴来风。穴:孔、洞;来:招致。有了洞穴才进风。比喻消息和谣言的传播不是完全没有原因的。也比喻流言乘机会传开来。
    zts1993
        13
    zts1993  
       2014-12-26 19:33:10 +08:00   1
    对这种开发效率不高,性能也没有优势,强行让挥匕首的人去挥大刀的框架毫无好感。
    ichou
        15
    ichou  
       2014-12-26 20:50:43 +08:00
    空穴来风 错用典型
    emmo
        16
    emmo  
       2014-12-26 20:56:51 +08:00
    @roychan
    @ichou 查查最新的词典,会发现已经改了。
    lausius
        17
    lausius  
       2014-12-26 21:00:18 +08:00
    @ichou 这个没有错。
    roychan
        18
    roychan  
       2014-12-26 21:11:29 +08:00
    @emmo 嗯,高考语文要求背的是这个意思。至于词汇的演变,另一个解释也慢慢被接受了。
    likang
        19
    likang  
       2014-12-26 21:21:06 +08:00
    这个 @ngf 应该深有同感... 他很早就跟我吐槽过 Laravel 的代码质量,可惜 PHP 我是小白,消化不了 >,<
    hitsmaxft
        20
    hitsmaxft  
       2014-12-26 21:36:10 +08:00   1
    laravel 不是一个好的框架, 把简单事情复杂化了. php不是这么用的. 该简单就简单, 像 yii2 也是入了魔道了.
    xuxu
        21
    xuxu  
       2014-12-26 21:50:26 +08:00
    Laravel的代码质量确实不咋滴,原来在github上吐槽过问题,结果人家不理直接关闭issue,但是接口写的还算不错。
    coronanimo
        22
    coronanimo  
       2014-12-26 23:33:44 +08:00
    Laravel 学了之后 月薪不过8000.
    crossmaya
        23
    crossmaya  
       2014-12-27 08:42:17 +08:00 via iPhone
    那为啥不自己写呢,我觉得代码本身质量已经不错
    ccbikai
        24
    ccbikai  
    PRO
       2014-12-27 09:04:59 +08:00
    空穴来风 == True ?
    空穴来风 == False ?
    kankana
        25
    kankana  
       2014-12-27 09:52:50 +08:00
    哈哈,一部分人开始讨论成语的正确用法了

    那些变量的访问属性的不同深有同感, 经常得查下Eloquent/Model.php

    github上的issue, 处理起来的确很暴力.

    snake还是camel, 习惯了就好......

    其他的,我觉得还好啦.
    southwolf
        26
    southwolf  
       2015-12-14 21:37:52 +08:00
    @lidashuang 23333 Laravel 就是一个山寨版的 Rails 你不知道么
    cos800
        27
    cos800  
       2016-09-18 19:10:23 +08:00
    还是用 thinkphp 吧~ 反正别的人代码都是垃圾,何不用一个简单点的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     947 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:20 PVG 05:20 LAX 14:20 JFK 17:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86