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

2014-12-26 17:31:02 +08:00
 mcfog

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 毫无意义的构造实例

各种槽点

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

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

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

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

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

(其实这都不关人家事好嘛……
roushan
2014-12-26 18:32:52 +08:00
用PHP还搞面向对象?
roychan
2014-12-26 18:46:25 +08:00
空穴来风。穴:孔、洞;来:招致。有了洞穴才进风。比喻消息和谣言的传播不是完全没有原因的。也比喻流言乘机会传开来。
zts1993
2014-12-26 19:33:10 +08:00
对这种开发效率不高,性能也没有优势,强行让挥匕首的人去挥大刀的框架毫无好感。
Doubear
2014-12-26 20:17:53 +08:00
感觉Laravel写控制器的时候的代码挺好看的,但是我没有实际用过。基本就是折腾其源代码,看看其内部构造和编码方式,方便copy过来以后自己用~~~~
ichou
2014-12-26 20:50:43 +08:00
空穴来风 错用典型
emmo
2014-12-26 20:56:51 +08:00
@roychan
@ichou 查查最新的词典,会发现已经改了。
lausius
2014-12-26 21:00:18 +08:00
@ichou 这个没有错。
roychan
2014-12-26 21:11:29 +08:00
@emmo 嗯,高考语文要求背的是这个意思。至于词汇的演变,另一个解释也慢慢被接受了。
likang
2014-12-26 21:21:06 +08:00
这个 @ngf 应该深有同感... 他很早就跟我吐槽过 Laravel 的代码质量,可惜 PHP 我是小白,消化不了 >,<
hitsmaxft
2014-12-26 21:36:10 +08:00
laravel 不是一个好的框架, 把简单事情复杂化了. php不是这么用的. 该简单就简单, 像 yii2 也是入了魔道了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/156946

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX