博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
魔术方法__call(string $name, array $arguments)
阅读量:6186 次
发布时间:2019-06-21

本文共 531 字,大约阅读时间需要 1 分钟。

hot3.png

背景:在调用对象中不存在或不可访问(私有受保护)的方法时,程序抛出致命的错误终止程序的进行。

161029_sE7R_2299514.png

为了处理这种错误的同时让程序继续执行,我们可以在类中添加一个魔术方法__call,来调用对象中不存在的方法时自动调用该方法,并且使程序可以继续向下执行。

<?php
    class Person{         
        function say(){  
            echo "Hello, wblog!<br>"

 }          

        function __call($funName, $args) { //声明此方法用来处理调用对象中不存在的方法                   

            echo      "你所调用的函数:".$funName."不存在!<br>\n";                       

            }

      }

$Person=new Person();            

$Person->run("teacher"); //调用对象中不存在的方法,则自动调用了对象中的__call()方法
$Person->say();

?>

运行结果: 

你所调用的函数run不存在!

Hello, wblog!

总结:

在类中添加一个魔术方法__call,在调用对象中不存在的方法时就会自动调用该方法,并且程序可以继续向下执行。

 

转载于:https://my.oschina.net/u/2299514/blog/787025

你可能感兴趣的文章
连贯接口(方法链)的使用
查看>>
监听屏幕解锁事件
查看>>
数据认知的高度,决定了工业云互联网平台的上限!
查看>>
HADOOP基于hortonworks的安装---JAVA安装
查看>>
游戏服务器设计之任务系统
查看>>
RHCS图形界面建立GFS共享中
查看>>
关于raid的介绍
查看>>
【第三篇】学习 android 事件总线androidEventbus之发布事件,子线程中接收
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
Android开发者指南(20) —— Testing
查看>>
Linux多线程实践(4) --线程特定数据
查看>>
guardian keytab生成不了
查看>>
08:特殊日历计算
查看>>
mongodb数据结构学习1--增删改查
查看>>
android中文api(80)——Gallery.LayoutParams
查看>>
Windows Embedded Compact 7加速生活化IT产品创新
查看>>
安装LSMS前需关闭MediaSense
查看>>
QTP引用外部脚本路径的设定(三)Instr函数的使用
查看>>
Linux 监控工具之Cacti使用详解(四)
查看>>
[转]Android笔记:Eclipse嵌入Unity3D开发的3D场景
查看>>