Anonymous classes share static space?

From: Date: Sun, 22 Oct 2017 13:08:01 +0000
Subject: Anonymous classes share static space?
Groups: php.general 
Request: Send a blank email to php-general+get-326238@lists.php.net to get a copy of this message
Greetings, All. https://3v4l.org/vLjTI <?php function creator($var) { return new class($var) { private static $var; function __construct($var) { static::$var = $var; } function __debugInfo() { return [ "\0*\0var" => static::$var, ]; } }; } $a = creator('A'); $b = creator('B'); var_dump($a, $b, $a === $b); > The output: object(class@anonymous)#1 (1) { ["var":protected]=> string(1) "B" } object(class@anonymous)#2 (1) { ["var":protected]=> string(1) "B" } bool(false) However, the output contradicting itself. By behavior, the two objects are of the same class, by comparison - they are not. Is this… intended behavior? -- Sincerely Yours, Andrey Repin <anrdaemon@freemail.ru>

« previous php.general (#326238) next »