【发布时间】:2019-07-20 00:24:12
【问题描述】:
我正在开发自己的 PHP 框架,我的代码虽然运行正常,但它越来越大;这当然会导致我的框架崩溃的多种方式,所以我决定是时候像任何其他 PHP 框架一样实现异常处理了,那个“不错的”错误视图可以告诉你可能出了什么问题。
我已经完成了我的研究并了解了 Extension PHP 默认类的工作原理,我知道我能够扩展这个类并自定义错误消息。
我也知道要触发一个异常,你必须抛出它并用“try/catch”语句捕获它,就像这样......
class MyCustomException extends \Exception()
{
// My stuff
}
public function dontBeZero($number)
{
if ($number == 0) {
throw new MyCustomException('You gave me zero!!');
}
}
try {
dontBeZero(0);
} catch (MyCustomException $e) {
echo '<pre>';
$e->getMessage();
echo '</pre>';
}
我明白这一点,但我真正的问题是:Laravel、Symfony 等流行的框架如何设法向您发送一条漂亮的消息,向您显示错误是什么,它们将所有验证它是否的逻辑保存在哪里应该或不应该抛出异常,最重要的是他们在哪里捕获它们?。
【问题讨论】: