PHP魔术方法__call()如何使用?PHP魔术方法__call使用实例
- 2022年12月20日
- 698 次
前面先后学习和记载了PHP魔术方法中的构造方法和析构方法以及__set()、__get(),而__set()、__get()方法主要是针对类中的属性进行操作,那么有没有对类中方法进行操作的魔术方法呢?__call方法就是可以对类中的方法进行这样操作的方法。
__call方法的作用
在对象中调用一个不可访问的方法时,__call()魔术方法就会被调用。
__call方法的使用
1、__call()方法的语法格式
public mixed__call(string $name,array $arguments)
2、__call()方法参数说明
(1)、$name:方法名;
(2)、$arguments:方法的参数,数据类型为数组类型;
__call方法的使用实例
<?php
class people{
function nationality ($name,$language){
echo $name.'你所说的语言是'.$language;
}
function __call($name, $arguments)
{
echo '你所调用的方法不存在时,将调用此__call魔术方法<br>';
echo '调用的方法名为:'.$name.'<br>';
echo '调用的方法参数为:<br>';
foreach ($arguments as $k=>$v){
echo $k.'=>'.$v.'<br>';
}
}
}
//实例化类
$people = new people;
//正常调用一个类的成员方法:
$people->nationality('lucy','english');
echo '<hr>';
//调用一个不存在的方法就会触发调用类中的__call魔术方法:
$people->what('aaa','bbb','ccc');
?>
李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
<?php
class people{
function nationality ($name,$language){
echo $name.'你所说的语言是'.$language;
}
function __call($name, $arguments)
{
echo '你所调用的方法不存在时,将调用此__call魔术方法<br>';
echo '调用的方法名为:'.$name.'<br>';
echo '调用的方法参数为:<br>';
foreach ($arguments as $k=>$v){
echo $k.'=>'.$v.'<br>';
}
}
}
//实例化类
$people = new people;
//正常调用一个类的成员方法:
$people->nationality('lucy','english');
echo '<hr>';
//调用一个不存在的方法就会触发调用类中的__call魔术方法:
$people->what('aaa','bbb','ccc');
?>- PHP中数组是什么?PHP数组怎么创建及打印输出 2022-10-20
- PHP cURL 实战教程:从入门到 REST API 调用 2026-06-30
- PHP操作txt文本去重文本重复行 PHP利用数组去除文本重复元素 2022-11-17
- PHP array_reverse() 函数详解:数组反转的 N 种方式 2026-07-02
- PHP数组键值对是什么?echo输出数组中的值 2022-10-21
- PHP array_key_first() 和 array_key_last():获取数组首尾键名 2026-07-02
