php - Laravel 5.0 Session 不能使用静态方法

标签 php session laravel laravel-5

我正在尝试使用 Laravel 5.0 创建应用程序,但在 BaseController 构造函数中使用 Session 方法时遇到问题

这是我的 BaseController 及其构造函数。

use Symfony\Component\HttpFoundation\Session\Session;

class BaseController extends Controller {

    /**
     * Initializer.
     *
     * @access   public
     * @return \BaseController
     */
    public function __construct()
    {

        //set default lang
        if (!Session::has('lang')) {
            Session::put('lang', App::getLocale());
            Cookie::forever('lang', App::getLocale());
        } else {
            App::setLocale(Session::get('lang'));
        }


    }
}

但我收到此错误

ContextErrorException in BaseController.php line 22: Runtime Notice: Non-static method Symfony\Component\HttpFoundation\Session\Session::has() should not be called statically, assuming $this from incompatible context

有人知道我做错了什么吗?

最佳答案

而不是:

use Symfony\Component\HttpFoundation\Session\Session;

你应该使用:

use Session;

在此处导入 session 。

关于php - Laravel 5.0 Session 不能使用静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27126972/

相关文章:

php - 如何过滤多个数据库表的查询结果

php - 通过jquery和ajax发布两个变量

PHP cURL 登录站点

django - 测试使用 cookies/session 的 django 网络应用程序

java - Spring 安全 : Show warning before overwriting session

java - 在Google AppEngine中的版本/后端之间共享 session

php - 更新上传目录中的照片不起作用

javascript - 使用 Javascript 在 Laravel 中重新格式化电话号码

laravel - 将图像或文件存储到 laravel 应用程序中的文件夹的更好方法应该是什么

php - 如何加入 Laravel 获取数据?