<?php
class Mod {
private $opmode;
public function init($params)
{
$this->opmode = &$params['opmode'];
}
public function setup()
{
$this->opmode = 'dog';
}
public function print()
{
echo $this->opmode . "\n";
}
}
$reference = 'fish';
$obj = new Mod();
$obj->init(['opmode' => &$reference]);
$obj->print(); // fish
$obj->setup();
$obj->print(); // dog
$reference = 'cats';
$obj->print(); // cats
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
fish
dog
cats
Output for 5.6.0 - 5.6.27
Parse error: syntax error, unexpected 'print' (T_PRINT), expecting identifier (T_STRING) in /in/T9qr2 on line 15
Process exited with code 255.