错误收集(Errors)

2020-11-05  by  

架构定义

这是一个自研的功能,很简单。作用就是对错误信息进行存储归纳,并将错误信息对象化,增加更多可编程属性。

文档

use PHPZlc\PHPZlc\Abnormal\Error;
use PHPZlc\PHPZlc\Abnormal\Errors;
  1. 设置追加错误

     Errors::setError(new Error('错误信息'));
     Errors::setErrorMessage('错误信息');
    
  2. 设置异常错误

     Errors::exceptionError(new \Exception('错误信息'));
    

    如果在开发模式中,则会直接抛出错误,程序中止。

    如果在生产模式中,则会写入错误系统繁忙,请稍后再试。程序不会报错将错误信息写入日志文件,返回false

    此方法一般放在try catch 语法结构中

    try {
    
    }catch (\Exception $exception){
        return Errors::exceptionError($exception);
    }
    
  3. 验证类是否符合验证注释并设置错误

    Errors::validate($validator, $class); //return bool
    

    Symfony-Validate相结合

    Controller中写法示例:

    use Symfony\Component\Validator\Validator\ValidatorInterface;
       
    public function index(ValidatorInterface $validator)
    {
        if(Errors::validate($validator, $class)){
            echo 'ok';
        }else{
            echo 'no';
        }
    }   
    
  4. 得到错误

    Errors::getError();
    Errors::getAllError();
    Errors::getAllErrorArray();
    

    注意

    getError 获得最早记录的错误

  5. 判断是否存在错误

     Errors::isExistError(); // return bool
    
  6. 覆盖错误信息(在错误集合前追加错误信息)

    Errors::coverError(new Error('错误信息'));
    Errors::coverErrorMessage('错误信息');
    
  7. 清空错误

    Errors::clearError()
    

详解 Class Error

namespace PHPZlc\PHPZlc\Abnormal;

class Error
{
    /**
     * @var string 错误码
     */
    public $code;

    /**
     * @var string 错误信息
     */
    public $msg;

    /**
     * @var string 错误名或标识
     */
    public $name;

    /**
     * @var void
     */
    public $value;

    /**
     * @var string 错误分组
     */
    public $group;

    /**
     * @var array  错误其他信息
     */
    public $other;

    /**
     * Error constructor.
     *
     * @param $msg
     * @param int $code
     * @param string $name
     * @param static $group
     * @param array $other
     */
    public function __construct($msg, $code = '$_ENV[API_ERROR_CODE]def(1)', $name = '', $value = '', $group = '', $other = array())
}

方法后面参数的的作用,主要用于对错误进行分组,标记。合理巧妙的使用这些参数,就可以获得丰富的体验。

找到错别字了?本文档有什么问题么?分叉并编辑 它 !

CJayhe

谢谢您的赞赏~

使用微信扫描二维码完成支付

抱歉弹框打扰,系统检测到您今日累计浏览时长已达120秒。如果我们的项目对您有帮助,在 关闭窗口之前,希望能够阅读弹框内容,帮助我们变得更好。

一个成功的项目,实现功能只是基础,合理的架构,对资源的调度能力才是灵魂。 PHPZlc, 致力于在Symfony的基础上提供“知行合一”的项目开发方案。

如果您有关切问题和好的想法:

提交

如果您想帮助我们,可以为我们点亮星星,也可以提供资金支持。

您还可以通过以下渠道,关注我们,获取最新的框架动态,帮助项目获取人气,扩大影响力。

开源伙伴招募:https://phpzlc.com/blog/11.html

由于我们无法获取您是否已经是我们的会员了,所以此弹框每日都会弹出一次,关闭