PHP前端开发

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

百变鹏仔 2天前 #PHP
文章标签 变量

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);