summaryrefslogtreecommitdiff
path: root/vendor/mediawiki/at-ease/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/mediawiki/at-ease/README.md')
-rw-r--r--vendor/mediawiki/at-ease/README.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/mediawiki/at-ease/README.md b/vendor/mediawiki/at-ease/README.md
new file mode 100644
index 00000000..578f78ce
--- /dev/null
+++ b/vendor/mediawiki/at-ease/README.md
@@ -0,0 +1,59 @@
+[![Latest Stable Version]](https://packagist.org/packages/mediawiki/at-ease) [![License]](https://packagist.org/packages/mediawiki/at-ease)
+
+at-ease
+=======
+
+at-ease is a PHP library that provides a safe alternative to PHP's
+[@ error control operator][].
+
+`@` is broken when `E_STRICT` is enabled and it causes an unlogged,
+unexplained error if there is a fatal, which is hard to support. The proper
+method of handling errors is to actually handle the errors. For example, if
+you are thinking of using an error suppression operator to suppress an invalid
+array index warning, you should instead perform an `isset()` check on the
+array index before trying to access it. When possible, always prevent PHP
+errors rather than catching and handling them afterward. It makes the code
+more understandable and avoids dealing with slow error suppression methods.
+
+However, there are some cases where warnings are inevitable, even if you check
+beforehand, like when accessing files. You can check that the file exists by
+using `file_exists()` and `is_readable()`, but the file could have been
+deleted by the time you go to read it. In that case, you can use this library
+to suppress the warnings and prevent PHP from being noisy.
+
+
+Usage
+-----
+
+ // Suppress warnings in a block of code:
+ \MediaWiki\suppressWarnings();
+ $content = file_get_contents( 'foobar.txt' );
+ \MediaWiki\restoreWarnings();
+
+
+ // ..or in a callback function:
+ \MediaWiki\quietCall( 'file_get_contents', 'foobar.txt' );
+
+
+Running tests
+-------------
+
+ composer install --prefer-dist
+ composer test
+
+
+History
+-------
+
+This library was first introduced in [MediaWiki 1.3][] ([r4261][]). It was
+split out of the MediaWiki codebase and published as an independent library
+during the [MediaWiki 1.26][] development cycle.
+
+
+---
+[@ error control operator]: https://php.net/manual/en/language.operators.errorcontrol.php
+[MediaWiki 1.3]: https://www.mediawiki.org/wiki/MediaWiki_1.3
+[r4261]: https://www.mediawiki.org/wiki/Special:Code/MediaWiki/r4261
+[MediaWiki 1.26]: https://www.mediawiki.org/wiki/MediaWiki_1.26
+[Latest Stable Version]: https://poser.pugx.org/mediawiki/at-ease/v/stable.svg
+[License]: https://poser.pugx.org/mediawiki/at-ease/license.svg