YII2.0 接口开发步骤

  1. 新建表的model来操作表。

            访问你本地站点的XXX/gii 即可打开。如果提示无法访问请自行修改config/web.php 文件下面的IP选项

    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        'allowedIPs'=>['127.0.0.1','::1',"192.168.*", "自己定义自己的IP"],
    ];

            这时候打开如下图:

      

    

        我们选择 model 生成。

    

        只需要填写两项:

            1. Table Name 表名称 | 以表在数据库中的名字gg_category为例

            2. Model CLass 文件 | class 名

        点击下方的Preview 预览 - 核对后点击 Generate 生成

        

这次我们在Modules 下面分模块开发。所以,在/modules/v1/controllers (v1是我的模块名称)中新建一个 CategoryController.php 来作为控制器开发 基本内容为:

<?php

namespace app\modules\v1\controllers;

use app\helper\DoReturnModel;
use app\modules\v1\models\CategoryModel;

/**
 * SettingController implements the CRUD actions for Setting model.
 */
class CategoryController extends BaseController
{

    /**
     * 获取分类列表
     * @return DoReturnModel
     */
    public function actionGetCategoryList()
    {
        $model = new CategoryModel();
        $list = $model->getCategoryListAll();

        // 成功返回成功信息
        return DoReturnModel::__jsonReturn('成功', 200, [
            'list' => $list
        ]);
    }
}

在modules/model 中新建一个CategoryModel.php 来作为控制器开发 基本内容为:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/13
 * Time: 17:29
 */

namespace app\modules\v1\models;

use app\models\table\Category;
use \yii\helpers\ArrayHelper;

class CategoryModel extends Category
{
    // 状态列表
    public $status_list = [
        'normal' => 0
    ];

    // 父级编号列表
    public $parent_id = [
        'no_parent' => 0
    ];

    // 场景
    // const SCENARIO_SAVE_SETTING = 'save_setting'; // 添加好友

    /*
     * 规则验证
     */
    public function rules()
    {
        $rule = parent::rules();
        return ArrayHelper::merge($rule, [

        ]);
    }

    /**
     * 场景
     */
//    public function scenarios()
//    {
//        $scenarios = parent::scenarios();
//        return ArrayHelper::merge($scenarios, [
//            [
//                self::SCENARIO_SAVE_SETTING => [
//
//                ]
//            ]
//        ]);
//    }

    /**
     * 重写label的 文字
     */
    public function attributeLabels()
    {
        return [
            'id' => '编号',
            'title' => '标题',
            'content' => '内容',
            'parent_id' => '父级菜单编号',
            'icon' => '图标',
            'status' => '状态', // [0 - 正常],[-1 - 已删除]
        ];
    }

    /*
     * 自动加载 model
     */
    public static function __loadModel($key = null)
    {
        if ($key == null) {
            return new self;
        } else {

            return self::findOne($key);
        }
    }

    /**
     * 验证编号方法
     */
    public function idValidate($attribute, $params)
    {
        $transit = self::findOne($this->$attribute);
        if (empty($transit)) {
            $this->addError(500, '
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值