0

0

0

修罗

站点介绍

只有了解事实才能获得真正的自由

tp5.1项目框架准备

修罗 2020-06-08 2922 5条评论 thinkphp5.1

首页 / 正文

1、配置

开启调试

1591285383955.png

自定义路由

1591285519425.png

数据库

1591285658013.png

2、框架初始化

定义基类返回数据

php think make:controller BaseController --plain

控制器返回数据方法

<?php

namespace app\common\controller;

use think\Controller;

class BaseController extends Controller
{
    // 返回数据
    public static function showResCode($msg = '',$data=[],$code = 200){
        $res = [
          'msg' => $msg,
          'data' => $data
        ];
        return json($res, $code);
    }

    // 返回不带数据
    public static function showResWithoutCode($msg = '', $code = 200){
        return self::showResCode($msg, [], $code);
    }
}

自定义异常

1591288944308.png

异常类:BaseException

<?php
namespace app\lib\exception;

use Exception;

class BaseException extends Exception{
    public $code;
    public $msg;

    public function __construct($msg = '请求失败', $code= 400){
        $this->code = $code;
        $this->msg = $msg;
    }
}

异常处理:ExceptionHandle

<?php
namespace app\lib\exception;

use Exception;
use think\exception\Handle;

class ExceptionHandle extends Handle{
    public $code;
    public $msg;

    public function render(Exception $e)
    {

        if ($e instanceof BaseException) {
            $this->code = $e->code;
            $this->msg = $e->msg;
        } else {
            // 调试开启(开发环境下),抛出非自定义异常让父类解决
            if (config('app.app_debug')) return parent::render($e);
            $this->code = 500;
            $this->msg = '服务器异常';
        }

        $res = [
            'msg' => $this->msg,
            'code' => $this->code,
        ];
        return json($res, $this->code);
    }
}

配置文件修改:app.php最后一行

// 异常处理handle类 留空使用 \think\exception\Handle
'exception_handle'       => '\app\lib\exception\ExceptionHandle',

测试:

1591289117254.png

自定义验证器基类

php think make:validate BaseValidate

BaseValidate.php

<?php

namespace app\common\validate;

use app\lib\exception\BaseException;
use think\Validate;

class BaseValidate extends Validate
{
    public function goCheck($scene = '')
    {
        // 拿到请求参数
        $params = request()->param();
        // 场景为空就全部验证,有值就按照场景定义验证
        $validate_res = empty($scene) ? $this->check($params) : $this->scene($scene)->check($params);
        if ($validate_res) throw new BaseException($this->getError());
        return true;
    }
}

评论(5)

  1. 1 游客 2025-09-01 11:27 回复

    1

  2. 1 游客 2025-09-01 12:09 回复

    1

  3. @@f3Uw3 游客 2025-09-01 12:11 回复

    1

  4. 1 游客 2025-09-01 12:13 回复

    1

  5. 1 游客 2025-09-01 12:14 回复

    -1 OR 2+773-773-1=0+0+0+1


最新评论

  • https://www.studyglobus.com/author/carroll34a5552/

    Ценники на вывоз мусора сейчас космос, любые лайфхаки по экономии в тему.

  • Richardgrold

    1xbet onlayn kazino platforması ilə vaxtınızı daha səmərəli və maraqlı keçirin. Saytın canlı kazino bölməsi istifadəçilərə fərqli bir dünya təklif edir. Burada canlı dilerli kazino oyunlarının hər bir növünü sınaqdan keçirə bilərsiniz. Krupyelərin peşəkarlığı oyunun dinamikasını və marağını artırır. Müntəzəm olaraq yenilənən oyun siyahısı cansıxıcılığa yol vermir. Hesabınızı artırmaq üçün onlarla fərqli və etibarlı üsul mövcuddur. Qazanılan pullar cəmi bir neçə dəqiqə ərzində şəxsi hesabınıza köçürülür. Aktiv fəaliyyətinizə görə fərdi bonuslar və hədiyyələr qazana bilərsiniz. Dəstək xidməti həm çat, həm də e-poçt vasitəsilə kömək göstərir. 1xbet ailəsinə qoşulun və böyük uduşlar üçün ilk addımı atın. onlayn kazino

  • 砂岩白丘

    我一直梦想, 看到你们相册那样的地方。真棒。

  • 城市地標

    我喜欢, 这里分享真实经验。你的项目 就是 属于这里的。请继续。

  • 宗教地標

    我热爱这样的想法, 去那么多国家。真的很鼓舞。

  • 觀景高地

    能感受到热爱。继续保持 感受。

  • 最佳季節

    我关注这样的资源, 写得很实在。你的网站 就是 属于这里的。加油。

  • 1

    1

  • 1

    1

  • -1' OR 2+158-158-1=0+0+0+1 or 'TKCTZnRa'='

    1

日历

2026年07月

   1234
567891011
12131415161718
19202122232425
262728293031 

文章目录

推荐关键字: Linux webpack js 算法 MongoDB laravel JAVA jquery javase redis