স্বয়ংক্রিয়ভাবে ত্রুটি কোড কম্পোনেন্ট তৈরি করুন
বর্ণনা
নির্দিষ্ট নিয়ম অনুসারে স্বয়ংক্রিয়ভাবে ত্রুটি কোড তৈরি বজায় রাখতে সক্ষম।
ফেরত দেওয়া ডেটায় code প্যারামিটারের সম্মতিতে, কোনও কাস্টমাইজড code, ধনাত্মক সংখ্যা নির্দেশ করে পরিষেবা সঠিকভাবে কাজ করছে, এবং ঋণাত্মক সংখ্যা নির্দেশ করে পরিষেবা ব্যর্থ হয়েছে।
প্রকল্পের ঠিকানা
https://github.com/teamones-open/response-code-msg
ইনস্টলেশন
composer require teamones/response-code-msg
ব্যবহার
খালি ErrorCode ক্লাস ফাইল
- ফাইলের পথ ./support/ErrorCode.php
<?php
/**
* স্বয়ংক্রিয়ভাবে উত্পন্ন ফাইল, দয়া করে ম্যানুয়ালি পরিবর্তন করবেন না।
* @Author:$Id$
*/
namespace support;
class ErrorCode
{
}
কনফিগারেশন ফাইল
ত্রুটি কোডগুলি নিচে দেওয়া কনফিগারেশনের প্যারামিটার অনুসারে স্বয়ংক্রিয়ভাবে বৃদ্ধি পাবে, যেমনবর্তমান system_number = 201, start_min_number = 10000, তাহলে উৎপন্ন প্রথম ত্রুটি কোড হবে -20110001।
- ফাইলের পথ ./config/error_code.php
<?php
return [
"class" => new \support\ErrorCode(), // ErrorCode ক্লাস ফাইল
"root_path" => app_path(), // বর্তমান কোডের মূল নির্দেশিকাটি
"system_number" => 201, // সিস্টেম চিহ্ন
"start_min_number" => 10000 // ত্রুটি কোড তৈরির পরিসর, যেমন 10000-99999
];
start.php তে স্বয়ংক্রিয়ভাবে ত্রুটি কোড তৈরি করার কোড যুক্ত করুন
- ফাইলের পথ ./start.php
// Config::load(config_path(), ['route', 'container']); এর পর বসান
// ত্রুটি কোড তৈরি করুন, শুধু APP_DEBUG মোডে তৈরি হবে
if (config("app.debug")) {
$errorCodeConfig = config('error_code');
(new \teamones\responseCodeMsg\Generate($errorCodeConfig))->run();
}
কোডে ব্যবহার করা
নিচের কোডে ErrorCode::ModelAddOptionsError একটি ত্রুটি কোড, যার মধ্যে ModelAddOptionsError ব্যবহারকারীর বর্তমান প্রয়োজন অনুযায়ী অর্থবোধকভাবে প্রথম অক্ষর বড় করে লেখা প্রয়োজন।
লেখা শেষ করার পর আপনি দেখতে পাবেন এটি ব্যবহার করা যাবে না, পরবর্তীবার পুনরায় চালু করার পর স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট ত্রুটি কোড তৈরি হবে। সচেতন থাকুন, কখনও কখনও দুইবার পুনরায় চালু করতে হতে পারে।
<?php
/**
* ন্যাভিগেশন সম্পর্কিত অপারেশন পরিষেবা ক্লাস
*/
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) {
// ত্রুটি তথ্য আউটপুট করুন
throw_http_exception($e->getMessage(), ErrorCode::ModelAddOptionsError);
}
return [];
}
}
উৎপন্ন后的 ./support/ErrorCode.php ফাইল
<?php
/**
* স্বয়ংক্রিয়ভাবে উত্পন্ন ফাইল, দয়া করে ম্যানুয়ালি পরিবর্তন করবেন না।
* @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;
}