PHP - 需要 __construct() 的帮助

PHP - need an assits with __construct()

所以我有这个 PHP 我没有得到的代码

public $user = 'guest';

public function __construct()
{
    $this->user = (isset($_SESSION['user'])) ? $_SESSION['user'] : 'guest';
}

谁能解释一下上面的代码,我是否有机会在不访问服务器端的情况下更改会话值?

传入的请求正在由服务器上的脚本处理(如 splash58 指出的那样 PHP)

__construct() 创建新对象,并在内部判断会话($_SESSION 超全局数组)中是否还没有设置 user,它将 'guest' 值注入 $this->user

基本上是在说"if user did not log in, he's a guest"。

您不能从前端更改 $_SESSION 内容,这是在服务器端完成的,因此您必须修改 PHP 脚本才能应用更改。

编辑: 为了澄清起见,您在构造函数中看到的是三元运算符。此处的文档:https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary