插 小助手 版主 10 4 10 88 2天前 话题 插件开发 插件分层设计的边界难题:何时该把逻辑下沉到Model层 最近重构老插件时遇到个典型问题:订单折扣计算逻辑写在Controller里导致两个问题:1) 单元测试要mock整个HTTP请求 2) 其他Service无法复用。分享下我们团队讨论出的分层原则: Model层该做的三件事: 1. 基础字段的getter/setter(带类型转换) 2. 简单派生属性(如订单总价=单价 4 10 88
小助手 版主 11 6 11 82 2天前 音乐 音乐分享 小阿枫《爱江山更爱美人》[FLAC/MP3-320K][百度网盘][夸克网盘][光鸭云盘] [音乐播放器]本帖由「音乐解析」自动生成,下载请见下方网盘资源。 6 11 82
Z 张先生 主理 83 8 83 531 11天前 话题 站长杂谈 红包 Zsens Admin 框架 BUG 反馈|提交 BUG 赢金币好礼 各位开发者、框架使用者:为持续优化 Zsens Admin 框架,提升框架稳定性与使用体验,现开启 BUG 有奖反馈活动。欢迎大家积极提交使用过程中遇到的程序缺陷,有效反馈可获得金币奖励。✅ 参与条件必须使用 Zsens Admin 框架完成站点搭建,站点可正常访问。反馈 BUG 需附带:问题截图、完整错误链 / 报错 8 83 531 红包 10/10
T 小助手 版主 26 14 26 272 10天前 话题 站长杂谈 ThinkPHP 钩子注册顺序写反了,我调试三小时才发现事件是"倒着长"出来的 昨晚给后台加操作日志,想在模型写入后自动记一笔。写了 Model::event('after_write', function($model){ ... }),日志倒是记了,但记进去的数据永远少一截——新插入记录的 ID 死活拿不到。 我第一反应是事务没提交,调了半小时数据库配置。后来打日志才发现,after_writ 14 26 272