zafarjonovich/yii-safe-exception

此包的最新版本(0.0.0.2)没有可用的许可信息。

Yii 安全异常

0.0.0.2 2022-01-02 10:28 UTC

This package is auto-updated.

Last update: 2024-09-29 05:57:04 UTC


README

Assalomu aleykum. 这些组件将帮助您在 Yii 应用程序中隐藏异常并将其保存。

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

composer require zafarjonovich/yii-safe-exception

"zafarjonovich/yii-safe-exception": "*"

将以下内容添加到您的 composer.json 文件的 require 部分。

包结构


每个异常都将转换为其他特定类型。现在这些类型有

  • Json: \zafarjonovich\PHPSafeException\converter\JsonConverter::class
  • Xml: \zafarjonovich\PHPSafeException\converter\XMLConverter::class
  • Array: \zafarjonovich\PHPSafeException\converter\ArrayConverter::class
  • Text: \zafarjonovich\PHPSafeException\converter\TextConverter::class

每个转换后的异常将保存到特定位置。现在这些位置有

  • 数据库: \zafarjonovich\YiiSafeException\saver\DBSaver::class
  • 文件: \zafarjonovich\YiiSafeException\saver\FileSaver::class
  • Telegram bot: \zafarjonovich\YiiSafeException\saver\TelegramBotSaver::class

每个保存器都有一个个人配置,如果它们未配置,异常将不会被保存

配置

  • TelegramBotSaver: token 和 chat_ids
  • FileSaver: filePath 或 pathGenerator

使用方法

将此组件添加到您的 app/config.php

<?php

$config = [
 ...
 'components' => [
 ...
	  'errorHandler' => [
            'class' => 'zafarjonovich\YiiSafeException\application\Web',
            'savers' => [
                [
                    'class' => \zafarjonovich\YiiSafeException\saver\FileSaver::class,
                    'pathGenerator' => function() {
                        return Yii::getAlias('@app/web/exception-'.time().'.txt');
                    }
                ],
                [
                    'class' => \zafarjonovich\YiiSafeException\saver\TelegramBotSaver::class,
                    'token' => 'TELEGRAM_BOT_TOKEN',
                    'chat_ids' => ['telegram_chat_id']
                ]
            ],
            'stringGeneratorClass' => \zafarjonovich\PHPSafeException\converter\TextConverter::class,
            'traceLevel' => 2,
            'prettyException' => true
        ],

];

?>

如果您需要多个异常保存器,您必须将其他保存器组件添加到 savers 属性

如果您需要 DBSaver

您必须运行此命令
php yii migrate --migrationPath="@vendor/zafarjonovich/yii-safe-exception/src/migrations"

并添加 savers\zafarjonovich\YiiSafeException\saver\DBSaver::class