在 Laravel 4 中,我想将配置变量“debug”默认设置为“false”,但对于来自我自己 IP 地址的请求,设置为“true”(测试最终会比这更复杂)。
根据http://four.laravel.com/docs/configuration的文档,我尝试了以下方法:
配置/app.php:
'debug' => false
filters.app - App::before (我也试过把代码放在 routes.php 的顶部,效果一样):
if(Request::getClientIp() == '[my ip address]') {
echo 'hello world';
Config::set('app.debug', true);
}
echo Config::get('app.debug');
当我访问一个错误的 URL 时,我会看到“hello world”和“1”,这很好,但是下面只会显示公共(非调试)错误消息。
我知道在运行时设置的配置变量仅适用于单个请求,但由于我的“hello world”正在显示,所以这似乎是一个请求。
有没有更好的地方来放置我的代码,或者我正在做的事情实际上是不可能的?