PHP中用 __call实现重载的思路及代码是什么
Admin 2022-06-24 群英技术资讯 1043 次浏览
在这篇文章中,我们来学习一下“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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这是最简单的类型。boolean表达了真值,可以为TRUE或FALSE。语法要指定一个布尔值,使用关键字TRUE或FALSE。两个都不区分大小写。<?php$foo=True;//assign...
php mysql栏目在此文记录自己学习PHP和mySQL的过程。之前在网上简单地学习了一下这两门语言,并且自己编写了PHP,可以正常连接mySQL,也可以插入数据。但是自己总觉得还是不太清晰。所以...
在laravel中,get和all都可以获取到模型,区别是all可以直接获取所有模型,而get是在添加了许多约束条件之后获取模型,若get前面不添加约束条件的话,效果与all等同。
php中autoload怎样使用?对于学习PHP新手来说,对于autoload()函数的使用可能不太清楚,对此,这篇文章就给大家介绍一下autoload的用法以及步骤,有着方面学习需求的朋友可以看一下。
laravel判断表是否存在的方法:1、使用“if (Schema::hasTable('table_name')){...}”方式检测某个表是否存在;2、如果不存在则执行创建操作即可。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008