mediawiki / 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代码库中分离出来并作为一个独立的库发布。