PHP には、次のコードがあります (読みやすくするために簡略化されています)。
class Var {
public $arr;
function __construct($arr) {
$this->arr = $arr;
}
function set($k, $v) {
$this->arr[$k] = $v;
}
}
class Session extends Var {
function __construct() {}
function init() {
session_start();
parent::__construct($_SESSION);
}
}
$s = new Session();
$s->init();
$s->set('foo', 'bar');
var_dump($_SESSION);
この時点で、 $_SESSION に'foo' => 'bar'
. ただし、$_SESSION 変数は完全に空です。これはなぜですか?$_SESSION 変数をプロパティとして保存して、後で参照によって変更するにはどうすればよいですか?
に置き換えてみまし__construct($arr)
た__construct(&$arr)
が、うまくいきませんでした。