2024-10-27

PHP Class 中如何访问 $_SESSION 变量?

php class 中如何访问 $_session 变量?

php class 中如何在 function 中使用 $_session

在 php 中,为了在类的function中使用 $_session,需要明确地将 $_session 作为参数传递给该 function。

如示例所示:

class ccc {
  public function aaa(array $session) {
      return $session['rrr'];
  }

  public function abc() {
      $_session['rrr'] = 123;
      return $_session['rrr'];
  }
}
登录后复制

在执行上述代码时,需要将 $_session 作为参数传递给 aaa function,如下:

立即学习PHP免费学习笔记(深入)”;

$ccc = new ccc();
$session = $_session;
$result = $ccc->aaa($session);
登录后复制

这样,aaa function 就可以访问 $_session 并获取到相应的值。

在浏览器中执行此代码时,浏览器会自动处理 session,因此不需要显式传递 $_session。但如果使用类似 curl 的工具测试,则需要传递 $_session,因为它不会自动处理 session。

要解决此问题,可以在请求发起前手动设置 cookie:

$cookie = 'PHPSESSID=' . session_id();
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
登录后复制

以上就是PHP Class 中如何访问 $_SESSION 变量?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1066800.html

发表回复

Your email address will not be published. Required fields are marked *