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

2025-05-27 0 29

本文实例讲述了php 使用 __call实现重载功能。分享给大家供大家参考,具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45
<?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) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php 使用 __call实现重载功能示例 https://www.kuaiidc.com/70791.html

相关文章

发表评论
暂无评论