فهرست مستندات پروژه
خطاها و هشدارها
مدیریت ورودی نامعتبر، هشدارهای lookup و exceptionهای کتابخانه.
برای خطای قابل انتظار در فرم از نتیجه اعتبارسنجی استفاده کنید. شرطها را بر اساس کد خطا بنویسید و عملیات دارای exception را با نوع مناسب مدیریت کنید.
<?php
require 'vendor/autoload.php';
use Eram\Abzar\Exception\ValidationException;
use Eram\Abzar\Validation\CardNumber;
use Eram\Abzar\Validation\NationalId;
$result = CardNumber::validate('1234567890123452');
echo $result->isValid() ? "accepted\n" : "rejected\n";
echo $result->warningCodes()[0]->value, "\n";
try {
NationalId::from('1234567890');
} catch (ValidationException $e) {
echo $e->errorCode()->value, "\n";
echo $e->result()->errors()[0], "\n";
}
accepted
CARD_NUMBER.UNKNOWN_BIN
NATIONAL_ID.INVALID_CHECKSUM
کد ملی نامعتبر است
چه چیزی را بررسی کنیم؟
errors()وerrorCodes(): ورودی نامعتبر است. قبل از خواندنdetail()نتیجه را بررسی کنید؛ نتیجه نامعتبر معمولا جزئیات ندارد.warnings()وwarningCodes(): ورودی معتبر است، اما lookup کامل نشده.from()وtryFrom()آن را میپذیرند. اگر قانون برنامه شما وجود اطلاعات lookup را لازم میداند، ازisStrictlyValid()استفاده کنید.ValidationException: ورودی نامعتبر درfrom()یا آرگومان نامعتبر در ساخت داده آزمایشی.result()نتیجه کامل را میدهد.FormatException: ورودی نامعتبر formatter یا شکست پردازش بخشهای HTML.MoneyException: مقدار منفی یا سرریز در عملیاتAmount.EnvironmentException: نبودنintlبرای NFC یا مرتبسازی.
هر چهار exception از Eram\Abzar\Exception\AbzarException ارث میبرند و errorCode() دارند. خطاهای خود PHP مثل نوع آرگومان اشتباه ممکن است TypeError ایجاد کنند؛ کلاس پایه همه خطاهای PHP را نمیگیرد.
متن فارسی خطا را با string مقایسه نکنید؛ ممکن است تغییر کند. از caseهای enum یا مقدار آنها استفاده کنید. WordsToNumber::parse() برای متن غیرقابل پردازش null میدهد. هنگام ثبت لاگ، به وجود شناسه یا بخشی از ورودی در پیام exception توجه کنید.
مطالب مرتبط: کدهای خطا، اعتبارسنجی، سازگاری API.
⁅مدیریت ورودی نامعتبر هشدار هشداره lookup و exception exceptionه کتابخانه برای خطا قابل انتظار در فرم از نتیجه اعتبارسنجی استفاد کرد شرط را بر اساس کد خطا نوشت و عملیات دار exception را با نوع مناسب مدیریت کرد php require vendor autoload php use eram abzar exception validationexception use eram abzar validation cardnumber use eram abzar validation nationalid result cardnumber validate 1234567890123452 echo result isvalid accepted n rejected n echo result warningcodes 0 value n try nationalid from 1234567890 catch validationexception e echo e errorcode value n echo e result errors 0 n accepted card number unknown bin national id invalid checksum کد ملی نامعتبر است errors و errorcodes ورودی نامعتبر است قبل از خواند detail نتیجه را بررسی کرد نتیجه نامعتبر معمولا جزیی نداشت warnings و warningcodes ورودی معتبر است اما lookup کامل نشد from و tryfrom آن ان را پذیرفت اگر قانون برنامه شما وجود اطلاع lookup را لاز دانست از isstrictlyvalid استفاد کرد validationexception ورودی نامعتبر در from یا آرگومان ارگو نامعتبر در ساخت داد آزمایشی ازمایشی result نتیجه کامل را داد formatexception ورودی نامعتبر formatter یا شکست پردازش بخش html moneyexception مقدار منفی یا سرریز در عملیات amount environmentexception نبود intl برای nfc یا مرتبسازی مرتب سازی هر چهار exception از eram abzar exception abzarexception ارث برد و errorcode داشت خطا خطاه خود php مثل نوع آرگومان ارگو اشتباه ممکن است typeerror ایجاد کرد کلاس پایه همه خطا خطاه php را نگرفت متن فارسی خطا را با string مقایسه نکرد ممکن است تغییر کرد از case caseه enum یا مقدار آن آنها ان استفاد کرد wordstonumber parse برای متن غیرقابل پردازش null داد هنگا ثبت لاگ به وجود شناسه یا بخشی از ورودی در پیام exception توجه کرد مطالب مرتبط کد خطا اعتبارسنجی سازگاری api⁆
⁅خطا و هشدار⁆
⁅چه چیزی را بررسی کنی⁆