网络编程
位置:首页>> 网络编程>> php编程>> php 使用 __call实现重载功能示例

php 使用 __call实现重载功能示例

作者:ztblog  发布时间:2023-07-13 20:10:28 

标签:php,call,重载

本文实例讲述了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程序设计有所帮助。

来源:https://blog.csdn.net/ztblog/article/details/80170792

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com