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


Error 500: How to get session variable via Laravel custom config file?

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

但是,一旦添加会话::get(),我就会收到HTTP ERROR 500

〔05-May-2016 19:53:16〕PHP弃用:非静态方法Symfony''Component''HttpFoundation''Session''Session::has()应该不能在中静态调用/用户//config/contents.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/…/vender/laravel/framework/src/IIlluminate/Container.php:738堆栈跟踪:#0/用户/…/vender/laravel/framework/src/IIlluminate/Container.php(738):反射类->__construct('log')#1/用户/…/vender/laravel/framework/src/IIlluminate/Container.php(633):照明''容器''容器->构建("日志",数组)#2/用户/…/vender/laravel/framework/src/IIlluminate/Foundation/Application.php(697):照明''容器''容器->制作("日志",数组)#3/用户/…/vender/laravel/framework/src/IIlluminate/Container.php(853):Illuminate''Foundation''Application->make('Psr''Log''LoggerI…')#4/用户/…/vender/laravel/framework/src/Ilum在里面/用户/…/vender/laravel/framework/src/IIlluminate/Container.php738 线上

您应该是use,而不是Illuminate'Support包中的Facade

use Illuminate'Support'Facades'Session;

然后您可以正确使用Session::

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