CatchAdmin实战教程(三) 模块创建与使用

(一)背景介绍

通常我们功能模块的创建需要分别创建控制器模型路由等功能的代码十分麻烦,但是在CatchAdmin中我们可以通过设置生成代码一键生成规范的Restful Api格式所需要的相关控制器、模型等代码。如何操作呢?

(二)操作步骤

2.1 创建模块

创建模块过后会自动生成相关模块功能的注册服务相关文件

在这里插入图片描述在这里插入图片描述

2.1.1 标序释义:

  • ① 模块名称和 ② 模块目录英文命名并且小写
  • ③ 模块描述:建议英文描述
  • ④ 模块关键字:建议与 ① 和 ② 相同
  • ⑤ Request目录:主要用于请求验证类存储目录(可选项)

2.1.2 生成文件

在这里插入图片描述

2.2 创建模型与控制器

在这里插入图片描述

2.2.1 标序释义:

  • 模块: 为创建的模块名称
  • 表名: 命名英文,多个单词用下划线连接
  • ③ 模型和④控制名需要统一英文名称,多个英文字母采用首字母大写
  • ⑤ Resultful路由:选择后控制器中会自动生成indexsavereadupdatedelete五个方法
  • 常用字符串类型:varchar(字符长度小)、⑨text(文章类)
  • 常用数字类型:int(年龄或者统计数量)、bigint(上百亿数据量设计占用)、floatdecimal(金融)、⑧tinyint(有限个数比如类型) ⑩数字类型需要默认0
  • 选中 created_at&updated_at:创建表后自动添加,存储类型为时间戳(单位s)
  • 选中 deleted_at :创建表后自动添加,默认0为未删除,框架中的软删除则自动填充删除时间
  • 选中 creator_id:创建者ID,当用户登录后,只要操作增删改操作,框架会自动记录创建者ID
  • 选中InnoDBMyISAM引擎优于InnoDB引擎

2.2.2 生成效果

执行成功后,将生成控制器User 、表迁移文件20220121205721_slg_user_info.php、模型User.phproute.php新增resource路由(支持resultful api)

在这里插入图片描述

<?php
$router->group(function () use($router) {
    // user 路由
     $router->resource('user', catchAdmin\user\controller\User::class);
})->middleware('auth');

2.3 自定义URL

根据User模块,我们可以在相应模型、控制器、路由进行自定义功能

2.3.1 自定义模型

  /**
     * @param int $id
     * @param array $params
     * @return bool
     */
    public function setStatus(int $id, array $params): bool
    {
        return $this->updateBy($id, [
            'status' => $params['status']
        ]);
    }

2.3.2 自定义控制器

// 自定义控制器方法:设置用户状态
   public function setStatus($id,Request $request) : \think\Response
    {
        return CatchResponse::success($this->articlesModel->setStatus($id,$request->post()));
    }

2.3.3 自定义路由规则

 $router->group(function () use($router) {
     // user 路由
     $router->resource('user', catchAdmin\user\controller\User::class);
     // ---新增设置状态---
     $router->post('setStatus/<id>', 'catchAdmin\user\controller\User@setStatus');
})->middleware('auth');

2.3.4 APiPost测试

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值