Code前端首页关于Code前端联系我们

ThinkPHP6项目的基本操作(架构层)

terry 2年前 (2023-09-24) 阅读数 61 #后端开发

1.分层的意义

的意义我认为最重要的是让维护变得更容易。如果代码不分层,就写在控制器里,包括各种参数标定。测试、不同的场景评估以及不同的数据查询返回结果都是不同的,非常让人困惑。问题出现时很难定位,也很难调整需求。一个好的分层架构可以解决这些问题。

2。代码结构

ThinkPHP6项目基本操作(架构分层)

这里借用了某课程网的老师照片,我重新画了一下。我们将代码分为以上5个模块,它们的功能分别是:

ThinkPHP6项目基本操作(架构分层)

3.common层设计

有些模块是多个应用程序共用的,所以可以创建一个common文件夹来存放存储的文件对所有应用程序都是通用的。 common 文件夹与其他应用程序文件夹位于同一级别。如business、lib、model等。

注意:更改文件目录时,不要忘记更改文件命名空间以及文件引用的位置。

ThinkPHP6项目基本操作(架构分层)

考虑到业务数据可以使用redis等,我们在这里中继模型

4。练习代码

型号:

<?php
namespace 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();    }}

公司:

<?php
namespace 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;    }}

控制器:

<?php
namespace 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前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门