我想使用自定义配置文件来访问会话变量 - 如果没有设置则使用后备 .
但是一旦我添加了Session :: get(),我得到一个 HTTP ERROR 500
[05-May-2016 19:53:16] PHP不推荐使用:非静态方法Symfony \ Component \ HttpFoundation \ Session \ Session :: has()不应在/Users/.../config/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
];
Update 1:
use Session;
导致此错误:
致命错误:在/Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php:738中,未捕获的异常'ReflectionException'消息'类日志不存在'堆栈跟踪:#0 / Users / ... /vendor/laravel/framework/src/Illuminate/Container/Container.php(738):ReflectionClass - > __ construct('log')#1 / Users / ... / vendor / laravel / framework / src / Illuminate / Container / Container . php(633):Illuminate \ Container \ Container-> build('log',Array)#2 /Users/.../vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697):Illuminate \ Container \ Container-> make('log',Array)#3 /Users/.../vendor/laravel/framework/src/Illuminate/Container/Container.php(853):Illuminate \ Foundation \ Application-> make('Psr \ Log \ LoggerI ...')#7 / Users / ... / vendor / laravel / framework / src / Illum in /Users /.../vendor/laravel/framework/src/Illuminate/Container/Container.php in line 738
2 回答
您应该
Illuminate\Support
Illuminate\Support
包中的Facade
.然后你就可以正确使用
Session::
您无法在laravel中的配置文件中访问会话,替代解决方案是将会话变量存储在cookie中,然后在配置文件中访问该cookie . 使用$ _COOKIE php数组访问cookie .