首页 文章

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

提问于
浏览
1

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

但是一旦我添加了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 回答

  • 3

    您应该 Illuminate\Support Illuminate\Support 包中的 Facade .

    use Illuminate\Support\Facades\Session;
    

    然后你就可以正确使用 Session::

  • 0

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

相关问题