国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

自動(dòng)生成錯(cuò)誤碼組件

說明

能夠根據(jù)給定的規(guī)則自動(dòng)維護(hù)錯(cuò)誤碼的生成。

約定返回?cái)?shù)據(jù)中 code 參數(shù),所有自定義的 code ,正數(shù)代表服務(wù)正常,負(fù)數(shù)代表服務(wù)異常。

項(xiàng)目地址

https://github.com/teamones-open/response-code-msg

安裝

composer require teamones/response-code-msg

使用

空 ErrorCode 類文件

  • 文件路徑 ./support/ErrorCode.php
<?php
/**
 * 自動(dòng)生成的文件 ,請不要手動(dòng)修改.
 * @Author:$Id$
 */
namespace support;

class ErrorCode
{
}

配置文件

錯(cuò)誤碼會(huì)自動(dòng)按照下面配置的參數(shù)自增生成,例如當(dāng)前 system_number = 201,start_min_number = 10000,那么生成的第一個(gè)錯(cuò)誤碼就是 -20110001。

  • 文件路徑 ./config/error_code.php
<?php

return [
    "class" => new \support\ErrorCode(), // ErrorCode 類文件
    "root_path" => app_path(), // 當(dāng)前代碼根目錄
    "system_number" => 201, // 系統(tǒng)標(biāo)識(shí)
    "start_min_number" => 10000 // 錯(cuò)誤碼生成范圍 例如 10000-99999
];

在start.php中增加啟動(dòng)自動(dòng)生成錯(cuò)誤碼代碼

  • 文件路徑 ./start.php
// 放在 Config::load(config_path(), ['route', 'container']); 后面

// 生成錯(cuò)誤碼,僅APP_DEBUG模式下生成
if (config("app.debug")) {
    $errorCodeConfig = config('error_code');
    (new \teamones\responseCodeMsg\Generate($errorCodeConfig))->run();
}

在代碼中使用

下面代碼中 ErrorCode::ModelAddOptionsError 為錯(cuò)誤碼, 其中 ModelAddOptionsError 需要用戶自己根據(jù)當(dāng)前需求語義化首字母大寫去書寫。

書寫完你會(huì)發(fā)現(xiàn)是無法使用的,再下次重啟后會(huì)自動(dòng)生成對(duì)應(yīng)錯(cuò)誤碼。注意有時(shí)候需要重啟兩次。

<?php
/**
 * 導(dǎo)航相關(guān)操作 service 類
 */

namespace app\service;

use app\model\Demo as DemoModel;

// 引入ErrorCode類文件
use support\ErrorCode;

class Demo
{
    /**
     * 添加
     * @param $data
     * @return array|mixed
     * @throws \exception
     */
    public function add($data): array
    {
        try {
            $demo = new DemoModel();
            foreach ($data as $key => $value) {
                $demo->$key = $value;
            }

            $demo->save();

            return $demo->getData();
        } catch (\Throwable $e) {
            // 輸出錯(cuò)誤信息
            throw_http_exception($e->getMessage(), ErrorCode::ModelAddOptionsError);
        }
        return [];
    }
}

生成后的 ./support/ErrorCode.php 文件

<?php
/**
 * 自動(dòng)生成的文件 ,請不要手動(dòng)修改.
 * @Author:$Id$
 */
namespace support;

class ErrorCode
{
    const LoginNameOrPasswordError = -20110001;
    const UserNotExist = -20110002;
    const TokenNotExist = -20110003;
    const InvalidToken = -20110004;
    const ExpireToken = -20110005;
    const WrongToken = -20110006;
    const ClientIpNotEqual = -20110007;
    const TokenRecordNotFound = -20110008;
    const ModelAddUserError = -20110009;
    const NoInfoToModify = -20110010;
    const OnlyAdminPasswordCanBeModified = -20110011;
    const AdminAccountCannotBeDeleted = -20110012;
    const DbNotExist = -20110013;
    const ModelAddOptionsError = -20110014;
    const UnableToDeleteSystemConfig = -20110015;
    const ConfigParamKeyRequired = -20110016;
    const ExpiryCanNotGreaterThan7days = -20110017;
    const GetPresignedPutObjectUrlError = -20110018;
    const ObjectStorageConfigNotExist = -20110019;
    const UpdateNavIndexSortError = -20110020;
    const TagNameAttNotExist = -20110021;
    const ModelUpdateOptionsError = -20110022;
}
編輯于2024-03-13 17:42:49 完善本頁 +發(fā)起討論
贊助商