geoffroy-aubry / errorhandler
Error and exception handler
Installs: 3 706
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Language:JavaScript
Requires
- php: >=5.3.3
- geoffroy-aubry/helpers: 1.*
Requires (Dev)
- apigen/apigen: ~2.8
- phpmd/phpmd: 2.*
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: dev-master
- sebastian/phpcpd: *
- squizlabs/php_codesniffer: ~1.0
README
Simple error and exception handler:
- converts error to an
ErrorException
instance according to error reporting level - when running the
PHP CLI
, reports errors/exceptions toSTDERR
(even fatal error) and uses exception code as exit status - allows to deactivate
@
operator - catches fatal error
- accepts callback to be executed at the end of the internal shutdown function
- accepts callback to display an apology when errors are hidden
- allows to ignore errors on some paths, useful with old libraries and deprecated code…
Installation
-
Class autoloading and dependencies are managed by Composer so install it following the instructions on Composer: Installation - *nix or just run the following command:
$ curl -sS https://getcomposer.org/installer | php
-
Add dependency to
GAubry\ErrorHandler
into require section of yourcomposer.json
:{ "require": { "geoffroy-aubry/errorhandler": "1.*" } }
and run
php composer.phar install
from the terminal into the root folder of your project. -
Include Composer's autoloader:
<?php require_once 'vendor/autoload.php'; …
Usage
-
Basic usage, in your bootstrap:
<?php use GAubry\ErrorHandler\ErrorHandler; $aConfig = array( 'display_errors' => true, 'error_log_path' => '/var/log/xyz.log', 'error_reporting_level' => -1, 'auth_error_suppr_op' => false ); new ErrorHandler($aConfig); …
-
Ignore errors on some paths, useful with old libraries and deprecated code:
$oErrorHandler = new ErrorHandler($aConfig); $oErrorHandler->addExcludedPath('[CouchbaseNative]', true);
Documentation
API documentation
is generated by ApiGen in the doc/api
folder.
$ php vendor/bin/apigen -c apigen.neon
Copyrights & licensing
Licensed under the GNU Lesser General Public License v3 (LGPL version 3). See LICENSE file for details.
Change log
See CHANGELOG file for details.
Continuous integration
Following commands are executed during each build and must report neither errors nor warnings:
-
Unit tests with PHPUnit:
$ php vendor/bin/phpunit --configuration phpunit.xml
-
Coding standards with PHP CodeSniffer:
$ php vendor/bin/phpcs --standard=PSR2 src/ tests/ -v
-
Code quality with PHP Mess Detector:
$ php vendor/bin/phpmd src/ text codesize,design,unusedcode,naming,controversial
Git branching model
The git branching model used for development is the one described and assisted by twgit
tool: https://github.com/Twenga/twgit.