错误500:如何通过Laravel自定义配置文件获取会话变量?

时间:2016-05-05 17:40:27

标签: php laravel laravel-5.2

我想使用自定义配置文件来访问会话变量 - 如果没有设置,则使用后备。

但是一旦我添加了Session :: get()

,我就会得到 HTTP ERROR 500
  

[05-May-2016 19:53:16] PHP弃用:非静态   方法Symfony \ Component \ HttpFoundation \ Session \ Session :: has()应该   不要静静地叫   /用户/.../配置/ constants.php

怎么了?

<?php
// File: app/config/constants.php

use Symfony\Component\HttpFoundation\Session\Session;


$something = Session::has('something') ? Session::get('something') : "fallback";


return [
    'something ' => $something
];

更新1:

use Session;

导致此错误:

  

致命错误:带有消息的未捕获异常'ReflectionException'   '类日志不存在'   /Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php:738   堆栈跟踪:#0   /Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php(738):   ReflectionClass-&gt; __ construct('log')#1   /Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php(633):   Illuminate \ Container \ Container-&gt; build('log',Array)#2   /Users/.../vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697):   Illuminate \ Container \ Container-&gt; make('log',Array)#3   /Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php(853):   Illuminate \ Foundation \ Application-&gt; make('Psr \ Log \ LoggerI ...')#4   /用户/ ... /供应商/ laravel /框架/ src目录/伊录姆   在   /Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php   在第738行

2 个答案:

答案 0 :(得分:3)

您应该use Facade Illuminate\Supportuse Illuminate\Support\Facades\Session;

Session::

然后您可以正确使用./configure

答案 1 :(得分:0)

您无法在laravel中访问配置文件中的会话,替代解决方案是将会话变量存储在cookie中,然后在配置文件中访问该cookie。 使用$ _COOKIE php数组访问cookie。