<?php
class Lock
{
function unlock()
{
$this->isLocked = false;
echo 'You unlocked the Lock'."\n";
}
function lock()
{
$this->isLocked = true;
echo 'You locked the Lock'."\n";
}
function isLocked()
{
return $this->isLocked;
}
}
class Door
{
function Door($lock)
{
$this->lock = $lock;
$this->connectsTo = 'bedroom'."\n";
}
function open()
{
if ($this->lock->isLocked()) {
echo 'Cannot open Door. It is locked.'."\n";
} else {
echo 'You opened the Door connecting to: ', $this->connectsTo."\n";
}
}
}
$lock = new Lock;
$door = new Door(&$lock);
$door->open();
$lock->unlock();
$door->open();
Fatal error: Call-time pass-by-reference has been removed in /in/BUQCK on line 40
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Deprecated: Call-time pass-by-reference has been deprecated in /in/BUQCK on line 40
You locked the Lock
Cannot open Door. It is locked.
You unlocked the Lock
You opened the Door connecting to: bedroom
Output for 5.2.7 - 5.2.17
Warning: Call-time pass-by-reference has been deprecated in /in/BUQCK on line 40
You locked the Lock
Cannot open Door. It is locked.
You unlocked the Lock
You opened the Door connecting to: bedroom
Output for 5.2.5 - 5.2.6
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /in/BUQCK on line 40
You locked the Lock
Cannot open Door. It is locked.
You unlocked the Lock
You opened the Door connecting to: bedroom
Output for 5.2.1 - 5.2.4
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in /in/BUQCK on line 40
You locked the Lock
Cannot open Door. It is locked.
You unlocked the Lock
You opened the Door connecting to: bedroom
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /in/BUQCK on line 40
You locked the Lock
Cannot open Door. It is locked.
You unlocked the Lock
You opened the Door connecting to: bedroom
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /in/BUQCK on line 40
You locked the Lock
Cannot open Door. It is locked.
You unlocked the Lock
Cannot open Door. It is locked.