我有一个使用基本应用程序模板创建的Yii2应用程序。在web.php中,我需要一个名为params.php的文件。为了解决这个问题,我使用了文件存在功能:
if(file_exists(__DIR__ . '/params.php')) {
$params = require __DIR__ . '/params.php';
}
我想抛出一个异常,以便显示Yii错误/调试页面。我尝试过:
if(file_exists(__DIR__ . '/params.php')) {
$params = require __DIR__ . '/params.php';
} else {
throw new Exception("Error", 1000);
}
但是Yii2错误处理程序无法捕获它,我不确定此时是否已经可用。有没有其他方法可以在任何这些页面上显示它?
答案 0 :(得分:2)
错误处理程序在应用初始化时注册。 InterfaceOne
中的配置是在应用初始化之前加载的(因为您需要先获取配置才能初始化应用),因此此时错误处理程序尚未就绪。
您可以通过使用事件来推迟加载参数:
web.php