企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 开发指南 本篇来介绍一组控制器到逻辑模型到视图的基操。让你了解基本开发流程 从控制器 > 逻辑 > 模型 > 视图 ## 开发注意 >[warning]所有操作代码中,有一组 `$this->logicOrders->getOrdersXXXX` 这里要说明一下 ,在父类控制器下采用了魔术方法 `__get()` ,依赖注入。 依赖注入其实本质上是指对类的依赖通过构造器完成自动注入。 说到依赖注入就不得不提到容器,现在主流开发框架都有容器的概念,一个杯子可以理解为一个容器,一个水桶也可以理解为容器,咱们不管容器的载体是谁,只需要知道在咱们代码中容器就是装数据滴。 依赖注入一般是提前通过文件定义,然后解析文件找到对应的类实例化对象给予到容器中。 还可以在生命周期过程中将对象或其他数据先放入容器中,在后续环节进行使用。 总之玩法五花八门,为了解决的问题就是咱们用对象不用new了,咱们用数据不用重新写逻辑了 等。 对应层级关系如下 <table> <thead> <tr> <th width="22%">名称</th> <th width="16%">变量</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>逻辑层</td> <td>logic</td> <td>每次链入$this->logicXXX,都会在logic文件夹中寻找相对XXX逻辑</td> </tr> <tr> <td>模型层</td> <td>model</td> <td>每次链入$this->modelXXX,都会在model文件夹中寻找相对XXX模型</td> </tr> <tr> <td>验证层</td> <td>validate </td> <td>每次链入$this->validateXXX,都会在lvalidate文件夹中寻找相对XXX验证</td> </tr> </tbody> </table> ``` /** * 获取逻辑层实例 --魔术方法 * * @author 勇敢的小笨羊 <brianwaring98@gmail.com> * * @param $logicName * @return \think\Model|\think\Validate */ public function __get($logicName) { $layer = $this->getLayerPre($logicName); $model = sr($logicName, $layer); return VALIDATE_LAYER_NAME == $layer ? validate($model) : model($model, $layer); } ```