mirror of
https://github.com/php/php-src.git
synced 2025-01-12 14:04:45 +08:00
40 lines
585 B
Plaintext
40 lines
585 B
Plaintext
|
--TEST--
|
||
|
__call() for private/protected methods
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
class A {
|
||
|
private $var1 = 'var1 value';
|
||
|
protected $var2 = 'var2 value';
|
||
|
|
||
|
private function func1()
|
||
|
{
|
||
|
return "in func1";
|
||
|
}
|
||
|
protected function func2()
|
||
|
{
|
||
|
return "in func2";
|
||
|
}
|
||
|
public function __get($var)
|
||
|
{
|
||
|
return $this->$var;
|
||
|
}
|
||
|
public function __call($func, array $args = array())
|
||
|
{
|
||
|
return call_user_func_array(array($this, $func), $args);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$a = new A();
|
||
|
echo $a->var1,"\n";
|
||
|
echo $a->var2,"\n";
|
||
|
echo $a->func1(),"\n";
|
||
|
echo $a->func2(),"\n";
|
||
|
|
||
|
?>
|
||
|
--EXPECTF--
|
||
|
var1 value
|
||
|
var2 value
|
||
|
in func1
|
||
|
in func2
|