webservco / error
A PHP component/library.
v1.0.0
2025-02-15 11:14 UTC
Requires
- php: ^8.4
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: ^2
- phpstan/phpstan-deprecation-rules: ^2
- phpstan/phpstan-phpunit: ^2
- phpstan/phpstan-strict-rules: ^2
- phpunit/phpunit: ^10
- slevomat/coding-standard: ^8
- squizlabs/php_codesniffer: ^3
- vimeo/psalm: ^6
- webservco/coding-standards: ^1
- webservco/component-common: ^1
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();