<?php
//class Demo05{
// public function __call($name, $arguments)
// {
// // TODO: Implement __call() method.
// return '方法名称:'.$name.'<br>参数列表:'.'<pre>'.print_r($arguments,true);
// }
// public static function __callStatic($name, $arguments)
// {
// // TODO: Implement __callStatic() method.
// return '方法名称:'.$name.'<br>参数列表:'.'<pre>'.print_r($arguments,true);
// }
//}
//$obj=new Demo05();
//echo $obj->getInfo01(10,20,30);
//echo '<hr>';
//echo Demo05::getInfo02('html','css','javascript');
//function sum($a,$b){
// return $a.'+'.$b.'='.($a+$b);
//}
//echo sum(10,20).'<br>';
////以回调的方式来调用,将函数作为了一个函数的参数来调用
//echo call_user_func('sum',60,40);
//
////将参数放在一个数组中
//call_user_func_array('sum',[60,40]).'<br>';
//echo '<hr>';
//class Test{
// public function sum($a,$b){
// return $a.'+'.$b.'='.($a+$b);
// }
//}
//$obj=new Test();
//echo $obj->sum(100,300).'<br>';
//echo call_user_func_array([$obj,'sum'],[35,45]).'<br>';
//echo call_user_func_array([new Test,'sum'],[30,45]).'<br>';
//class Test{
// public static function sum($a,$b){
// return $a.'+'.$b.'='.($a+$b);
// }
//}
//echo Test::sum(10,30).'<br>';
//echo '类名是: '. Test::class.'<br>';
////echo call_user_func_array('Test::sum',[20,30]).'<br>';
//echo call_user_func_array([Test::class,'sum'],[20,30]).'<br>';
//class Demo04{
// private $name;
// private $salary;
// protected $secret='朱老师和猪哥不是同一个人';
//// 构造方法
// public function __construct($a,$b)
// {
// $this->name=$a;
// $this->salary=$b;
// }
//
//// 魔术方法:__set($name,$value):当设置未定义不可见属性时触发
// public function __set($d, $e)
// {
// // TODO: Implement __set() method.
// if ($d==='salary'){
// return ($this->name==='admin')?$this->$d=$e:'无权查看';
// }
// }
// // 魔术方法:__get($name):当获取未定义不可见属性时触发
// public function __get($c)
// {
//// $c:要访问的属性名称
// // TODO: Implement __get() method.
// return $this->$c;
//// if ($c==='secret'){
//// return ($this->name==='admin')?$this->$c:'无权查看';
//// }
// }
////__isset($name)
////__unset($name)
//}
////$obj=new Demo04('朱老师',6666);
//$obj=new Demo04('admin',6666);
////echo $obj->name,'<br>';
////echo '工资是:',$obj->salary,'元<br>';
////echo $obj->secret,'<br>';
//$obj->salary=10000;
//echo '工资是:'.$obj->salary.'<br>';
////if (isset($obj->salary)){
//// echo '变量存在';
////}
///
echo '<hr>';
class Test{
public static function sum($a,$b){
return $a.'+'.$b.'='.($a+$b);
}
}
echo Test::sum(10,30).'<br>';
echo call_user_func_array('Test::sum',[20,30]).'<br>';
echo call_user_func_array(['Test','sum'],[70,30]).'<br>';