wikimedia / at-ease
安全的 @ 替代方案,用于抑制警告。
v2.1.0
2021-02-27 15:53 UTC
Requires
- php: >=7.2.9
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 35.0.0
- mediawiki/minus-x: 1.1.1
- ockcyp/covers-validator: 1.3.3
- php-parallel-lint/php-console-highlighter: 0.5.0
- php-parallel-lint/php-parallel-lint: 1.2.0
- phpunit/phpunit: ^8.5
README
at-ease
at-ease 是一个 PHP 库,提供了 PHP 中 @ 错误控制运算符 的安全替代方案。
当启用 E_STRICT
时,@
运算符会出错,如果发生致命错误,则会引发未记录的、无法解释的错误,这很难支持。处理错误的方法实际上是处理错误。例如,如果您想使用错误抑制运算符来抑制无效数组索引警告,您应该首先在尝试访问数组索引之前执行 isset()
检查。在可能的情况下,始终防止 PHP 错误,而不是在之后捕获和处理它们。这使得代码更易于理解,并避免了处理缓慢的错误抑制方法。
然而,在某些情况下,即使您事先进行检查,警告也是不可避免的,例如在访问文件时。您可以使用 file_exists()
和 is_readable()
检查文件是否存在,但文件可能在您准备读取时已被删除。在这种情况下,您可以使用此库来抑制警告,防止 PHP 变得嘈杂。
使用方法
use Wikimedia\AtEase\AtEase; // Suppress warnings in a block of code: AtEase::suppressWarnings(); $content = file_get_contents( 'foobar.txt' ); AtEase::restoreWarnings(); // ..or in a callback function: AtEase::quietCall( 'file_get_contents', 'foobar.txt' );
运行测试
composer install --prefer-dist
composer test
历史
此库最初在 MediaWiki 1.3 (r4261) 中引入。它在 MediaWiki 1.26 开发周期中从 MediaWiki 代码库中分离出来,并作为独立库发布。