php - Laravel session 在 native PHP 中不可用?

标签 php laravel

Laravel 的新手,在使用 Session 时遇到了一些问题。具体来说,从 Laravel 外部的 PHP 文件读取 session 数据。

例如,假设我像这样设置 session 变量:Session::put('isAuthorized', 'yes') - 我可以在 Laravel 上下文中使用 Session::get('isAuthorized') 但以下 PHP 不会检索此 session key -

<?php
session_start();
echo $_SESSION['isAuthorized'];
?>

返回

Notice: Undefined index: isAuthorized in C:\xampp\htdocs\session.php on line 3

我尝试将 Laravel session 驱动程序设置为默认的 cookiefile 模式,结果相同。

最佳答案

你也可以写一个 session 适配器,所以 $_SESSION 变量将是它的一个实例:

<?php 
class SessionAdapter implements \ArrayAccess {

  public function offsetExists($offset) {
      return Session::has($offset);
  }

  public function offsetGet($offset) {
      return Session::get($offset);
  }

  public function offsetSet($offset, $value) {
      return Session::put($offset, $value);
  }

  public function offsetUnset($offset) {
      return Session::forget($offset);
  }

}

然后在你的代码中的某处:

<?php 
$_SESSION = new SessionAdapter();
// or
$GLOBALS['_SESSION'] = new SessionAdapter();

这样本地 PHP session 和 Laravel session 将“相同”。

关于php - Laravel session 在 native PHP 中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428785/

相关文章:

php - 使用两个 get 参数清理 php 中的 url

php - cocoa URL API : how can I return an error from the server *and* still download the data requested?

php - 在 Ubuntu10 中安装 pdo_pgsql 不工作

javascript - 如何实现这段php代码

php - 访问 laravel blade 中的数组级别

php - 将两个 Laravel 集合与交替的行组合起来

php - Laravel Debugbar消息未显示

php - Laravel + MySQL - 存储 Eloquent 命名空间

validation - Laravel 验证多个模型

php - Laravel attach manytomany 附加字段