v1.0.0 2022-01-02 23:19 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:28 UTC


README

描述

库包含错误处理组件,用于管理应用程序错误。

要求

  • 脚本语言:PHP:版本 7 || 8

安装

有几种可能的安装方式

Composer

  1. 要求

    需要安装 composer。更多信息请访问:https://getcomposer.org.cn

  2. 命令:在项目根路径下移动

     cd "<project_root_path>"
    
  3. 命令:安装

     php composer.phar require liberty_code/error ["<version>"]
    
  4. 注意

    • 包含 vendor

      如果项目使用 composer,则必须包含 vendor

        require_once('<project_root_path>/vendor/autoload.php');
      
    • 配置

      安装命令允许在 composer 文件中添加

        {
            "require": {
                "liberty_code/error": "<version>"
            }
        }
      

包含

  1. 下载

    • 下载以下仓库。
    • 将其放在仓库根路径下。
  2. 包含源代码

     require_once('<repository_root_path>/include/Include.php');
    

用法

处理器

处理器允许处理特定错误,以执行特定操作。

元素

  • 处理器

    允许设计一个包含所有处理特定错误信息的处理器,以执行特定操作。

  • ErrorHandler

    扩展处理器功能。允许处理标准错误和错误异常。

  • ThrowErrorHandler

    扩展错误处理器功能。通过抛出错误异常来执行操作。

  • FixErrorHandler

    扩展错误处理器功能。允许处理来自指定固定配置的标准错误。

  • FixThrowErrorHandler

    扩展抛出错误处理器功能。允许从指定固定配置中抛出错误异常。

  • ThrowableHandler

    扩展处理器功能。允许处理可抛出错误。

  • FixThrowableHandler

    扩展可抛出错误处理器功能。允许从指定固定配置中处理可抛出错误。

  • HandlerCollection

    允许设计处理器集合。允许从特定错误中获取处理器列表。

  • HandlerFactory

    允许设计处理器工厂,以提供从指定配置或文件路径的新或指定处理器实例。

  • StandardHandlerFactory

    扩展处理器工厂功能。提供处理器实例。

示例

// Get handler factory
use liberty_code\error\handler\factory\model\DefaultHandlerFactory;
$handlerFactory = new DefaultHandlerFactory(null, $provider);
...
// Get new handler from configuration
$handler = $handlerFactory->getObjHandler(array(...));
...
// Get new handler from handler class file path
$handler = $handlerFactory->getObjHandlerFromFile('...');
...

构建器

构建器允许使用处理器填充处理器集合。

元素

  • 构建器

    使用源数据数组来填充处理器集合。

  • DirBuilder

    扩展构建器功能。使用目录路径数组来填充处理器集合,从每个目录路径的每个文件路径中。

示例

// Get handler collection
use liberty_code\error\handler\model\DefaultHandlerCollection;
$handlerCollection = new DefaultHandlerCollection();
...
// Get handler builder
use liberty_code\error\build\model\DefaultBuilder;
$handlerBuilder = new DefaultBuilder($handlerFactory);
...
// Hydrate handler collection
$handlerBuilder->setTabDataSrc(array(...));
$handlerBuilder->hydrateHandlerCollection($handlerCollection);
...
// Get handler directory builder
use liberty_code\error\build\directory\model\DirBuilder;
$handlerDirBuilder = new DirBuilder($handlerFactory);
...
// Hydrate handler collection
$handlerDirBuilder->setTabDataSrc(array(...));
$handlerDirBuilder->hydrateHandlerCollection($handlerCollection, false);
...
foreach($handlerCollection->getTabKey() as $key) {
    echo($handlerCollection->getObjHandler($key)->getStrKey() .'<br />');
}
/**
 * Show: 
 * Handler key 1
 * ...
 * Handler key N
 */
...

尝试者

尝试者允许执行特定过程,并使用处理器集合处理潜在失败。

元素

  • 尝试者

    允许设计一个尝试者,它尝试执行特定过程,并使用处理器集合处理潜在失败。

示例

use liberty_code\error\tryer\model\DefaultTryer;
$tryer = new DefaultTryer($handlerCollection);
...
// Try specific process execution
$executionSuccess = false;
$resultExecution = $tryer->execute(callable..., $executionSuccess);
...
// Show if specific process succeeded or failed
var_dump($executionSuccess);
...
// Show return from specific process if success, from error handling else
var_dump($resultExecution);
...

警告处理器

警告处理器允许处理特定警告,在主过程成功或失败时执行特定操作。

元素

  • WarnHandler

    包含所有处理特定警告信息的处理器,以执行特定操作,如果主过程成功或失败。

  • ThrowableWarnHandler

    扩展警告处理器功能。允许处理可抛出警告。

  • FixThrowableHandler

    扩展可抛出警告处理器功能。允许从指定固定配置中处理可抛出警告。

  • WarnHandlerCollection

    允许设计警告处理器集合。允许从特定警告列表中获取警告处理器列表。

  • WarnHandlerFactory

    允许设计警告处理器工厂,以提供从指定配置或文件路径的新或指定警告处理器实例。

示例

// Get warning handler factory
use liberty_code\error\warning\handler\factory\model\DefaultWarnHandlerFactory;
$warnHandlerFactory = new DefaultWarnHandlerFactory(null, $provider);
...
// Get new warning handler from configuration
$warnHandler = $warnHandlerFactory->getObjWarnHandler(array(...));
...
// Get new warning handler from handler class file path
$warnHandler = $warnHandlerFactory->getObjWarnHandlerFromFile('...');
...

警告构建器

构建器允许使用警告处理器填充警告处理器集合。

元素

  • 构建器

    使用源数据数组来填充警告处理器集合。

  • DirBuilder

    扩展构建器功能。使用目录路径数组来填充警告处理器集合,从每个目录路径的每个文件路径中。

示例

// Get warning handler collection
use liberty_code\error\warning\handler\model\DefaultWarnHandlerCollection;
$warnHandlerCollection = new DefaultWarnHandlerCollection();
...
// Get warning handler builder
use liberty_code\error\warning\build\model\DefaultWarnBuilder;
$warnHandlerBuilder = new DefaultWarnBuilder($warnHandlerFactory);
...
// Hydrate warning handler collection
$warnHandlerBuilder->setTabDataSrc(array(...));
$warnHandlerBuilder->hydrateWarnHandlerCollection($warnHandlerCollection);
...
// Get warning handler directory builder
use liberty_code\error\warning\build\directory\DirWarnBuilder;
$handlerDirBuilder = new DirWarnBuilder($warnHandlerFactory);
...
// Hydrate warning handler collection
$warnHandlerBuilder->setTabDataSrc(array(...));
$warnHandlerBuilder->hydrateWarnHandlerCollection($warnHandlerCollection, false);
...
foreach($warnHandlerCollection->getTabKey() as $key) {
    echo($warnHandlerCollection->getObjWarnHandler($key)->getStrKey() .'<br />');
}
/**
 * Show: 
 * Warning handler key 1
 * ...
 * Warning handler key N
 */
...

警告尝试者

警告尝试器允许在特定过程成功或失败后执行该过程并处理潜在警告,使用警告处理程序集合。

元素

  • WarnTryer

    扩展了尝试器功能。允许设计一个警告尝试器,用于尝试执行特定过程并在该过程成功或失败后处理潜在警告,使用警告处理程序集合。

示例

use liberty_code\error\warning\tryer\model\DefaultWarnTryer;
$warnTryer = new DefaultWarnTryer(
    $handlerCollection, 
    $warnHandlerCollection, 
    // Register interface implementation, used to store warnings during specific process
    $warnRegister
);
...
// Try specific process execution
$executionSuccess = false;
$resultExecution = $warnTryer->execute(callable..., $executionSuccess);
...
// Show if specific process succeeded or failed
var_dump($executionSuccess);
...
// Show return from specific process and potential warnings handling if success, 
// from error and potential warnings handling else
var_dump($resultExecution);
...

警告错误处理器

警告错误处理器允许处理特定的错误,被视为警告,并执行特定的警告操作。

元素

  • WarnErrorHandler

    扩展了错误处理器功能。通过将错误异常放置在特定的警告注册处来执行操作。

  • FixWarnErrorHandler

    扩展了警告错误处理器功能。使用指定的固定配置。

  • WarnHandlerFactory

    扩展了处理程序工厂功能。提供警告错误处理器实例。