ThinkPHP6项目的基本操作(架构层)
1.分层的意义
的意义我认为最重要的是让维护变得更容易。如果代码不分层,就写在控制器里,包括各种参数标定。测试、不同的场景评估以及不同的数据查询返回结果都是不同的,非常让人困惑。问题出现时很难定位,也很难调整需求。一个好的分层架构可以解决这些问题。
2。代码结构
![]()
这里借用了某课程网的老师照片,我重新画了一下。我们将代码分为以上5个模块,它们的功能分别是:
![]()
3.common层设计
有些模块是多个应用程序共用的,所以可以创建一个common文件夹来存放存储的文件对所有应用程序都是通用的。 common 文件夹与其他应用程序文件夹位于同一级别。如business、lib、model等。
注意:更改文件目录时,不要忘记更改文件命名空间以及文件引用的位置。
![]()
考虑到业务数据可以使用redis等,我们在这里中继模型。
4。练习代码
型号:
<?phpnamespace app\common\model\mysql;use think\Model;class Demo extends Model{public function getDemoDataByCategoryId($cateId, $limit = 10){return $this->where("cate_id", $cateId)->limit($limit)->select()->toArray();}}
公司:
<?phpnamespace app\common\business;use app\common\model\mysql\Demo as DemoModel;class Demo{public function getDemoDataByCategoryId($cateId, $limit = 10){$model = new DemoModel();$results = $model->getDemoDataByCategoryId($cateId, $limit);if(empty($results)){return [];}return $results;}}
控制器:
<?phpnamespace app\demo\controller;use app\BaseController;use app\common\business\Demo;class Index extends BaseController{public function test(){$cateId = $this->request->param("cate_id",0,"intval");if(empty($cateId)){return show(config("status.error"), "参数错误");}$demo = new Demo();$results = $demo->getDemoDataByCategoryId($cateId);return show(config("status.success"), "ok", $results);}}
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
