webservco / error
A PHP component/library.
Installs: 356
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/webservco/error
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();