在Laravel 4应用程序配置期间使用Session类

时间:2014-01-04 02:10:22

标签: php session laravel laravel-4

是否可以访问 app / config / app.php 文件中的Session课程?

我可以在应用请求的这个阶段使用use Illuminate\Support\Facades\Input;但不能使用use Illuminate\Support\Facades\Session;(或Cookie)。

我认为这可能是为我的开发环境存储调试切换的好方法。我将通过 GET 变量切换调试,并希望它在整个会话期间(或直到我取消设置),而不是直到下一个不包含变量的请求。

1 个答案:

答案 0 :(得分:1)

重叠群文件是在应用程序生命周期的早期加载的,即使Input工作,我也很惊讶。不,没有办法在配置文件本身中使用会话变量。您可以使用app事件在运行时更改配置值,App::booting应该适合此。在app / start / global.php中:

App::booting(function() {
    if (Session::get(...)) Config::set(...);
});

请注意,这可能并不总是具有您期望的结果。例如,一旦应用程序启动,它会检查app.debug == true的配置并相应地选择其异常处理程序,因此如果您想在应用程序启动后更改异常处理程序,那么您将拥有通过app('exception')->setDebug(true)直接进行。您可能需要执行任意数量的类似配置,具体取决于您的设置。