- var_dump: documentation ( source)
- error_reporting: documentation ( source)
<?php
class PhpRefCallBugTester {
public $ok = false;
function __call( $name, $args ) {
$old = error_reporting( E_ALL & ~E_WARNING );
call_user_func_array( array( $this, 'checkForBrokenRef' ), $args );
error_reporting( $old );
}
function checkForBrokenRef( &$var ) {
if ( $var ) {
$this->ok = true;
}
}
function execute() {
$var = true;
call_user_func_array( array( $this, 'foo' ), array( &$var ) );
}
}
$prcbt = new PhpRefCallBugTester;
$prcbt->execute();
var_dump( $prcbt->ok );