webservco / error
A PHP component/library.
v0.8.0
2024-06-22 15:10 UTC
Requires
- php: ^8.3
Requires (Dev)
- pds/skeleton: ^1
- phan/phan: ^5
- php-parallel-lint/php-console-highlighter: ^1
- php-parallel-lint/php-parallel-lint: ^1
- phpcompatibility/php-compatibility: ^9
- phpmd/phpmd: ^2
- phpstan/phpstan: ^1
- phpstan/phpstan-phpunit: ^1
- phpstan/phpstan-strict-rules: ^1
- phpunit/phpunit: ^10
- slevomat/coding-standard: ^8
- squizlabs/php_codesniffer: ^3
- vimeo/psalm: ^5
- webservco/coding-standards: ^0
- webservco/component-common: ^0
README
A PHP component/library.
Custom application error handling.
Usage
Implement interfaces:
ErrorHandlerInterface
interface ErrorHandlerInterface { public function handle( // The first parameter, errno, will be passed the level of the error raised, as an integer. int $errno, // The second parameter, errstr, will be passed the error message, as a string. string $errstr, // If the callback accepts a third parameter, errfile, // it will be passed the filename that the error was raised in, as a string. string $errfile, // If the callback accepts a fourth parameter, errline, // it will be passed the line number where the error was raised, as an integer. int $errline, // $errcontext removed in PHP 8 ): bool; }
ErrorHandlingServiceFactoryInterface
interface ErrorHandlingServiceFactoryInterface { public function createErrorHandlingService(): ErrorHandlingServiceInterface; }
ErrorHandlingServiceInterface
interface ErrorHandlingServiceInterface { public function handlePreExecutionErrors(): bool; public function initialize(): bool; public function restore(): bool; }
Example implementation
A simple handling service using a strict error handler (throws exception for any error) is provided.
// Create service. $errorHandlingServiceFactory = new DefaultErrorHandlingServiceFactory(); $errorHandlingService = $errorHandlingServiceFactory->createErrorHandlingService(); // In application bootstrap: $errorHandlingService->initialize(); $errorHandlingService->handlePreExecutionErrors(); // Application run. // In application shutdown: $errorHandlingService->restore();