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,如下:

$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 变量?的详细内容,更多请关注其它相关文章!