- var_dump: documentation ( source)
- debug_backtrace: documentation ( source)
- trigger_error: documentation ( source)
- printf: documentation ( source)
<?php
class Foo {
private $fooId;
private $fooName;
public function __set($name, $value)
{
$this->$name = $value;
}
public function __get($name)
{
if (self::__isset($name)) {
return $this->$name;
}
$trace = debug_backtrace();
trigger_error(
'Undefined property ' . $name .
' in ' . $trace[0]['file'] .
' on line ' . $trace[0]['line'],
E_USER_NOTICE);
return null;
}
public function __isset($name)
{
return isset($this->$name);
}
}
$bar = new Foo();
$bar->fooId = 2;
$bar->fooName = 'Name';
var_dump($bar);
printf($bar->check);