hbhe 最近的时间轴更新
hbhe

hbhe

V2EX 第 329925 号会员,加入于 2018-07-18 15:47:03 +08:00
hbhe 最近回复了
2019-09-10 09:14:54 +08:00
回复了 894021573 创建的主题 PHP 请教 Yii2 框架 afterSave 的推荐使用方式
这个问题很好,我也一直在思考,一般情况下,我会选第 2 种。
1. 如果 a.save()的时候,必然导致 b.save(),那么就说明这段逻辑关系是固定的,放在 afterSave()中可以被更多的地方复用。
2. 采用 2 时, 在 a.save()时,b,c 会依次 save()或者说依次向上冒泡,向上冒泡的过程要避免再次执行上级的 save(),以免形成递归震荡, 可使用 updateAttributes()来避免。冒泡一般是从底往上冒,什么是底? 一对多时,多的那方的 model 是底,一对一时视业务而定。
3. 一层只管一层,如 a 只管 b, b 只管 c;
4. Model 负责逻辑中心; 而 afterSave()是中心中的中心,应高度重视。后半句个人之见。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1648 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 16:50 · PVG 00:50 · LAX 08:50 · JFK 11:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.