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

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

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

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

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

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

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

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

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

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

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

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

    其他的,我觉得还好啦.
        26
    southwolf   2015-12-14 21:37:52 +08:00
    @lidashuang 23333 Laravel 就是一个山寨版的 Rails 你不知道么
        27
    cos800   2016-09-18 19:10:23 +08:00
    还是用 thinkphp 吧~ 反正别的人代码都是垃圾,何不用一个简单点的。
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   620 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 59ms · UTC 18:46 · PVG 02:46 · LAX 10:46 · JFK 13:46
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1