运行结果如下:
one not exists 1 boolean true
2. 方法重载:如果使用一个不存在的方法,就会调用类中预先定义好的某个方法以处理该行为;
对于方法不用的应用场景,做如下处理
① 在对象中调用不可访问的方法:__call()
② 静态方式中调用不可访问方法:__callStatic()
<?php
class bee{
public function __call($name,$arr){
echo '<br>';
echo 'function '.$name.' not exist';
}
static function __callStatic($name,$arr){
echo '<br>';
echo 'function '.$name.' not exist';
}
/*public function __call($name,$arr){
$num = count($arr);
if($num<1){
$name();
}else{
$name = $name.'_one';
$name($arr[0]);
}
}*/
}
$obj->func();
bee::staFunc();
/*$obj->func(1);
function func(){
echo '<br>';
echo 'no.0';
}
function func_one($val){
echo '<br>';
echo 'no.'.$val;
}*/
运行结果如下:
function func not exist function staFunc not exist
注意:以上方法都属于魔术方法,都带有参数
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。







