<?php
class B {
public $c=12;
}
class A {
function __construct() {
$this->va = function() {
return new B;
};
}
}
$o=new A;
var_dump($o);
var_dump($o->va());
Deprecated: Creation of dynamic property A::$va is deprecated in /in/G8NOf on line 8
object(A)#1 (1) {
["va"]=>
object(Closure)#2 (1) {
["this"]=>
*RECURSION*
}
}
Fatal error: Uncaught Error: Call to undefined method A::va() in /in/G8NOf:17
Stack trace:
#0 {main}
thrown in /in/G8NOf on line 17
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Deprecated: Creation of dynamic property A::$va is deprecated in /in/G8NOf on line 8
object(A)#1 (1) {
["va"]=>
object(Closure)#2 (1) {
["this"]=>
*RECURSION*
}
}
Fatal error: Uncaught Error: Call to undefined method A::va() in /in/G8NOf:17
Stack trace:
#0 {main}
thrown in /in/G8NOf on line 17
Process exited with code 255.
object(A)#1 (1) {
["va"]=>
object(Closure)#2 (1) {
["this"]=>
*RECURSION*
}
}
Fatal error: Uncaught Error: Call to undefined method A::va() in /in/G8NOf:17
Stack trace:
#0 {main}
thrown in /in/G8NOf on line 17
Process exited with code 255.
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
object(A)#1 (1) {
["va"]=>
object(Closure)#2 (1) {
["this"]=>
*RECURSION*
}
}
Fatal error: Call to undefined method A::va() in /in/G8NOf on line 17
Process exited with code 255.