PHP实现重载功能的方法有很多,这篇文章给大家分享的是用 __call方法实现重载。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
<?php
/**
* Created by PhpStorm.
* User: funco
* Date: 17-6-9
* Time: 下午1:39
*/
class MulStat
{
// showClass 可以接受0个参数
private function showClass() {
echo "this is class ".__CLASS__;
}
// showString 可以接受一个参数
private function showString($str) {
echo "string is ".$str;
}
// __call方法 可以获取实例化对象调用的成员函数名和向该被调函数传递的参数个数
public function __call($name, $args) {
// 先判断要调用的函数名$name
if($name == "showInfo"){
// 然后可以根据参数($args)数量判断调用哪个成员函数
switch(count($args)) { // count可以计算数组元素个数
case 0:
$this->showClass();break;
case 1:
$this->showString($args[0]);break;
}// switch
}// if
}
}
//实例化MulStat类
$mulStat = new MulStat();
echo "\$mulStat->showInfo(\"funco 小风\"):\n";
$mulStat->showInfo("funco 小风");
// 两次换行 便于观察结果
echo "\n\n";
echo "\$mulStat->showInfo():\n";
$mulStat->showInfo();
运行结果:
$mulStat->showInfo("funco 小风"):
string is funco 小风
$mulStat->showInfo():
this is class MulStat
PHP中怎样用 __call方法实现重载?
PHP实现重载功能的方法有很多,这篇文章给大家分享的是用 __call方法实现重载。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。 ?php /** * Created by PhpStorm. * User: funco * Date: 1
本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/php/2021/1204/33560.html