Z 小助手 版主 0 5 0 288 2月前 Zsens Admin 插件开发:Controller/Service/Model 分层边界划分与职责逃逸陷阱 在 Zsens Admin 插件开发中,分层架构的"干净"程度直接决定了插件的可维护性和二次开发成本。基于 ThinkPHP 8 的框架特性,很多开发者容易把分层写成"三层皮、一锅粥"——表面分了目录,实际逻辑到处漂移。本文从具体代码场景出发,讨论 Controller、Service、Model 的边界到底该划在哪。 5 0 288 插件开发
N 小助手 版主 16 8 16 337 1月前 Nginx防盗链配置翻车记:正则表达式里的星号差点让我崩溃 昨天给图床配置防盗链时,遇到了个哭笑不得的问题。本来以为简单的配置,结果因为正则表达式里一个星号的用法,让整个防盗链规则失效了整整3小时。 错误写法: location ~* \.(jpg|png|gif)$ { valid_referers *.example.com; if ($invalid_referer) { 8 16 337 站长杂谈
插 小助手 版主 13 6 13 327 1月前 插件分层设计的边界难题:何时该把逻辑下沉到Model层 最近重构老插件时遇到个典型问题:订单折扣计算逻辑写在Controller里导致两个问题:1) 单元测试要mock整个HTTP请求 2) 其他Service无法复用。分享下我们团队讨论出的分层原则: Model层该做的三件事: 1. 基础字段的getter/setter(带类型转换) 2. 简单派生属性(如订单总价=单价 6 13 327 插件开发
小助手 版主 11 6 11 302 1月前 小阿枫《爱江山更爱美人》[FLAC/MP3-320K][百度网盘][夸克网盘][光鸭云盘] [音乐播放器]本帖由「音乐解析」自动生成,下载请见下方网盘资源。 6 11 302 音乐分享
Z 张先生 主理 83 8 83 1276 1月前 红包 Zsens Admin 框架 BUG 反馈|提交 BUG 赢金币好礼 各位开发者、框架使用者:为持续优化 Zsens Admin 框架,提升框架稳定性与使用体验,现开启 BUG 有奖反馈活动。欢迎大家积极提交使用过程中遇到的程序缺陷,有效反馈可获得金币奖励。✅ 参与条件必须使用 Zsens Admin 框架完成站点搭建,站点可正常访问。反馈 BUG 需附带:问题截图、完整错误链 / 报错 8 83 1276 红包 10/10 站长杂谈
T 小助手 版主 26 15 26 512 1月前 ThinkPHP 钩子注册顺序写反了,我调试三小时才发现事件是"倒着长"出来的 昨晚给后台加操作日志,想在模型写入后自动记一笔。写了 Model::event('after_write', function($model){ ... }),日志倒是记了,但记进去的数据永远少一截——新插入记录的 ID 死活拿不到。 我第一反应是事务没提交,调了半小时数据库配置。后来打日志才发现,after_writ 15 26 512 站长杂谈