魔术方法之__call、__callStatic
1.__call() 作用,当调用不存在的方法时,会调用该方法。实际应用,当程序调用不存在的方法时,意外导致程序终止。

.或者当你调用了受保护的或者是私人的方法时,也会自动调用__call方法

结果:
2.__callStatic()
形式:__callStatic($name,$arr){}
应用场景:
(1):对象调用未定义的静态函数时,自动调用

结果呢:__callStatic里的输出语句了

(2).调用私有或者受保护的静态方法时,会自动调用

结果显而易见:

小结:
1.对于未定义属性进行自动调用的魔术方法有:
(1).__get($obj): 当调用未定义属性时,自动调用
(2).__set($onj):对未定义属性进行赋值时,自动调用
2.对于未定义方法进行自动调用的魔术方法有
(1).__call($name,$arr): 当调用未定义函数时,自动调用
(2).__callStatic($name,$arr):当调用未定义静态函数时,自动调用
3.对原属性进行操作的魔术方法有:
(1).__isset($obj):检测属性是否存在
(2).__unset($obj):将属性进行销毁
4.以上所有魔术方法在调用私有或者受保护的属性或者方法时,自动调用.
魔术方法之__call、__callStatic的更多相关文章
- PHP面向对象魔术方法之__call函数
l 基本介绍: (1) 当我们调了一个不可以访问的成员方法时,__call魔术方法就会被调用. (2) 不可以访问的成员方法的是指(1. 该成员方法不存在, 2. 成员方法是protected或者 p ...
- 魔术方法之__call与__callStatic方法
<?php class human{ private function t(){ } /** * 魔术方法__call * * @param string $method 获得方法名 * @pa ...
- PHP魔术方法之__call与__callStatic方法
<?php class human{ private function t(){ } //魔术方法__call /* $method 获得方法名 $arg 获得方法的参数集合 */ public ...
- PHP常用魔术方法(__call魔术方法:)
魔术方法 __call <?php //文件名:index.php define('a',__DIR__); include '/IMooc/Loader.php'; spl_autoload ...
- 魔术方法以及__call的调用
一.什么是魔术方法? 魔术方法是php中对一类方法的统称,这些方法可以在任何类中被实现.他们通常可以完成一些特殊的无法纯粹依靠自己编程实现的功能.他们通常以双下划线"__"作为名称 ...
- php类知识---魔术方法__toString,__call,__debugInfo
<?php class mycoach{ public function __construct($name,$age) { $this->name = $name; $this-> ...
- php魔术方法的使用
本文测试环境为 php5.5.12 一.__get .__set 将对象的属性进行接管. 一般来说,总是把类的属性定义为private,但是对属性的读取和赋值操作非常频繁,在php5+,预定义__se ...
- PHP中的魔术方法:__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload
1.__get.__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的: __get( $property ) 当调用一个未定义的属性时访问此方法: __set( $property, $ ...
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toStr
PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep ...
随机推荐
- Mysql注入绕过安全狗
转载请加原文链接:https://www.cnblogs.com/Yang34/p/12055052.html 微信公众号:信Yang安全.同步更新,欢迎关注.文末有二维码. 正好最近在搞注入,昨天现 ...
- BZOJ 4764: 弹飞大爷 LCT
思路并不难,主要是细节需要注意一下. 在 lct 中,删边要写成:f[lson]=0,lson=0 (因为删 x->y 时 y 不一定是左儿子,y 只是 x 的前驱) 然后 f[lson]=ls ...
- packr 方便的潜入静态资源文件到golang 二进制文件中
类似的工具以前有介绍过statik,今天使用的工具是packr 也是很方便的golang tools 安装 go get -u github.com/gobuffalo/packr/packr 或者我 ...
- windows客户端
- canvas做动画
一.绘制图片 ①加载图片 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- BZOJ 1477: 青蛙的约会
二次联通门 : BZOJ 1477: 青蛙的约会 /* BZOJ 1477: 青蛙的约会 扩展欧几里得 列出方程, 判断一下 */ #include <iostream> #include ...
- 利用Python进行数据分析【第二版】【高清中文版英文版源代码】
如果被河蟹请回复我更新链接 这是我花钱弄的,免费分享给大家.没有密码,直接可以观看! 希望大家不要拿去后再做收费分享 如果好用,请给个赞好嘛~~~ 1.中文pdf 链接:https:/ ...
- linux 关闭主板上的蜂鸣器声音
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/mainboard_speaker_close 在从deepin的 ...
- httpd.exe你的电脑中缺失msvcr110.dll怎么办(WIN2008服务器环境装WAMP2.5出现的问题)
httpd.exe你的电脑中缺失msvcr110.dll怎么办 去微软官方下载相应的文件 1 打开上面说的网址 Download and install, if you not have it alr ...
- ICEM——对msh文件或者cas文件重新划分边界
原视频下载地址:https://pan.baidu.com/s/1jIoKSuy 密码: m3uv