在 程序开发中,如果在使用对象调用对象内部方法时候,调用的这个方法不存在那么程序就会出错,然后程序退出不能继续执行。那么可不可以在程序调用对象内部不 存在的方法时,提示我们调用的方法及使用的参数不存在,但程序还可以继续执行,这个时候我们就要使用在调用不存在的方法时自动调用的方法”__call()”.

<?php

//这是一个测试的类,里面没有属性和方法TR90 reading glasses

class Test

{

}

//产生一个Test类的对象

$test=new Test();

//调用对象里不存在的方法

$test->demo("one", "two", "three");

//程序不会执行到这里Metal Sunglasses

echo "this is a test<br>";

?>

上例出现如下错误,程序通出不能继续执行;

Fatal error: Call to undefined method Test::demo()

下面我们加上“__call()”方法,这个方法有2个参数,第一个参数为调用不存在的方法过程中,自动调用__call()方法时,把这个不存在的方法的方法名传给第一个参数,第二个参数则是把这个方法的多个参数以数组的形式传进来。

<?php

//这是一个测试的类,里面没有属性和方法

class Test

{

//调用不存的方法时自动调用的方法,第一个参数为方法名,第二个参数是数组参数

function __call($function_name, $args)

{

print "你所调用的函数:$function_name(参数:";

print_r($args);

print ")不存在!<br>\n";

}

}

//产生一个Test类的对象Acetate Sunglasses

$test=new Test();

//调用对象里不存在的方法

$test->demo("one", "two", "three");

//程序不会退出可以执行到这里Wholesale Discount Sunglasses

echo "this is a test<br>";

?>

上例输出结果为:

你所调用的函数: demo(参数:Array ( [0] => one [1] => two [2] => three ) )不存在!
this is a test.



转载于:https://www.cnblogs.com/imadin/archive/2011/06/22/2087084.html

__call处理调用错误相关推荐

  1. php面向对象编程调用结果,【PHP面向对象(OOP)编程入门教程】18.__call()处理调用错误...

    在程序开发中,如果在使用对象调用对象内部方法时候,调用的这个方法不存在那么程序就会出错,然后程序退出不能继续执行.那么可不可以在程序调用对象内部 不存在的方法时,提示我们调用的方法及使用的参数不存在, ...

  2. 【PHP面向对象(OOP)编程入门教程】18.__call()处理调用错误

    在程序开发中,如果在使用对象调用对象内部方法时候,调用的这个方法不存在那么程序就会出错,然后程序退出不能继续执行.那么可不可以在程序调用对象内部 不存在的方法时,提示我们调用的方法及使用的参数不存在, ...

  3. Matlab常见问题处理——错误使用 xlswrite (line 219),调用错误,调度异常: 参数错误。

    1. 错误使用 xlswrite (line 219),调用错误,调度异常: 参数错误. Step1: Step2: Step3:

  4. C++学习笔记——非静态成员函数的非法调用错误

    今天写程序发现出现非静态成员的非法调用错误 原来原因是: 1 静态成员函数相当于全局函数,只有一个类名字空间的限制.静态成员函数是类的函数,无需指明是某个实例对象在操作,既可以是类在调用其静态成员函数 ...

  5. WPS中VBA控制word时出现调用错误

    WPS中VBA控制word时出现调用错误 背景, 在WPS的环境下, 我的WORD自动填写软件出错, 主要怀疑: 如果没有WORD文件被打开的状态下 如果最后一个文件被关掉, 与EXCEL不同, 这时 ...

  6. httplib java_httplib发布调用错误

    我正在尝试自动化几个http请求,其中,我有以下从网络捕获的POST调用数据: 方法:POST请求标头: POST /cgi-bin/auto_dispatch.cgi HTTP / 1.1主机:10 ...

  7. 提问:微信网页授权到第三方调用错误、调用微信公众号扫码登陆错误、微信SCOP权限错误或没有权限

    总结: 调用微信扫码,但是微信返回提示SCOP错误,我的微信公众号认证了,也把对应的域名填写了,代码上填写的snsapi的路径是填写在对用网页授权域名下的路径. 错误原因: 应该是微信公众号上的配置错 ...

  8. 计算机调用错误英文,电脑各种中英文信息对照及错误信息总汇

    来源:本站整理  作者:佚名  2009-01-19 16:29:16 1780 将空的参考指针发送给占位程序. 1781 列举值超出范围. 1782 字节数目太小. 1783 占位程序接收到错误数据 ...

  9. 关于 SAP AMDP 调用错误消息 client-specific and restricts access to a client

    近日一个朋友做 SAP AMDP 开发时,遇到如下错误消息:XXX is client-specific and restricts access to a client. The calling A ...

最新文章

  1. 激励理论在人力资源管理中的运用
  2. Docker容器制作
  3. 蓝桥杯之貌似化学(g背包)
  4. MySQL学习笔记17:别名
  5. 【2019.09.07】2019徐州网络赛
  6. python多进程传递参数,python多进程数据传递
  7. 3650m5服务器内存选择 ibm_硬盘回收中心 服务器硬盘回收 监控硬盘回收
  8. 月薪 100K?还不来看看区块链学习清单?字字都是 Money!
  9. mysql 程序无法连接_程序无法连接到服务器不知道怎么解决
  10. 在CSDN持续写博客半年之后,我的薪资涨了45%
  11. 修改FTP和MSTSC默认端口号
  12. win10电脑插耳机没反应(win10插上耳机还外放)
  13. 浅谈统一权限管理平台
  14. qt 串口助手 界面美化
  15. 美利坚合众国概况(美国概况)
  16. 使用mybatis进行四表联查
  17. 重装系统 重启计算机失败,电脑重装系统失败,不能开机了,怎么办,急求解决办法啊...
  18. java 爬取百度云盘,百度网盘资源抓取 爬虫
  19. 数据库系统原理选择题总结
  20. FS4052】12.6v2A三节锂电池充电芯片方案

热门文章

  1. 优质的空间服务商对网站优化的重要性
  2. python语言1010的八进制_python打印十六进制
  3. mongodb模糊查询 php7_详解php7如何实现MongoDB模糊查询
  4. 安卓一键新机_安卓福音!微信终于推出这个功能,再也不用羡慕iPhone
  5. (转载)IP、主机名和域名
  6. 重新定义数据库历史的时刻——时间序列数据库Schwartz认为InfluxDB最有前途,Elasticsearch也不错...
  7. [Java] 基本資料包裝類別 Wrapper Classes
  8. [工具]Tomcat CVE-2017-12615 远程代码执行
  9. .NET开发微信小程序-微信支付
  10. THinkPHP 5.0 域名路由