Php 我应该在这里使用授权吗?
我目前有两个类层次结构:一个用于处理错误,另一个用于记录错误 我想知道 1) 将错误处理委托给独立于错误处理程序的类是否有利 及 2) 我的设计是否好 以下是我所拥有的:Php 我应该在这里使用授权吗?,php,logging,error-handling,Php,Logging,Error Handling,我目前有两个类层次结构:一个用于处理错误,另一个用于记录错误 我想知道 1) 将错误处理委托给独立于错误处理程序的类是否有利 及 2) 我的设计是否好 以下是我所拥有的: class ErrorHandler { public __construct(ErrorLogger $ErrorLogger) { ... $this->setErrorPageURL('/error.php'); } public function setErrorPageURL($e
class ErrorHandler {
public __construct(ErrorLogger $ErrorLogger) {
...
$this->setErrorPageURL('/error.php');
}
public function setErrorPageURL($errorPageURL);
public function handle() {
...
$this->ErrorLogger->log($errorNumber, $errorMessage, $errorFile, $errorLine);
header("Location: $this->errorPageURL");
}
}
class ErrorLogger {
abstract protected function log($errorNumber, $errorMessage, $errorFile, $errorLine);
// Overridable.
protected function getExtraLogMessage() {
return null;
}
}
class EmailerErrorLogger extends ErrorLogger {
public function __construct($toEmailAddress, $fromEmailAddress) {
...
}
protected function log($errorNumber, $errorMessage, $errorFile, $errorLine) {
// collect error information and various pieces of information
mail(...);
}
}
register_shutdown_function(array(new ErrorHandler(new EmailerErrorLogger()), 'handle'));
我认为这种结构是有意义的,因为您的错误处理程序必须执行某些其他工作,而不仅仅是记录错误 伐木工人自己可以实现这一目标