php __call方法是调用未定义的方法时调用的,使用语法如“$foo->__call('test', array(1, "2", 3.4, true))”,也就是相当于“$foo->test(1, "2", 3.4, true)”。

php魔术方法__call的用法

__call是调用未定义的方法时调用的。

也就是说,你的test方法未定义,那么test这个方法名就会作为__call的第一个参数传入,而test的参数会被装进数组中作为__call的第二个参数传入。

所以当你调用$foo->test(1, "2", 3.4, true)时,实际是相当于调用$foo->__call('test', array(1, "2", 3.4, true))。

__call方法在调用类的方法时触发,比如:<?php

class google{

public function search(){

//TODO

}

public function __call($method, $parameters){

//这里的method便是对应的方法,即"->"后面的字符串,$parameters是通过这个方法传过来的参数

}

}

$google = new google();

$keyword = 'VR';

$google->search($keyword);

//当调用当前对象不存在的方法时,会转向__call

$google->operate();

利用__call可以做些封装,从而调用其它对象和方法。

call方法PHP,php __call方法如何使用相关推荐

  1. php魔术方法call,PHP魔术方法__call()

    __call()方法的用法 function __call(string $function_name, array $arguments) { // 方法体 } 程序中调用未定义的方法时,__cal ...

  2. php call()函数,PHP中__call()方法详解

    前面给大家介绍了<__construct(),类的构造函数><__destruct(),类的析构函数>,下面继续给大家介绍PHP中__call()方法. __call(),在对 ...

  3. php魔术方法例子,PHP魔术方法示例

    ① __get/__set:将对象的属性进行接管 当访问一个不存在的对象属性时: index.php define('BASEDIR',__DIR__); //定义根目录常量 include BASE ...

  4. php 魔术方法 sleep,PHP 魔术方法: __sleep __wakeup

    从php5以后的版本,类就可以使用魔术方法了.php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开 头,除非是为了重载已有的魔术方法. 目前php已有的魔术方法有 ...

  5. php5的魔术方法,php5中魔术方法学习笔记

    1.__construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用. PHP实例代码如下: classTest {function__construct() {echo"b ...

  6. Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法

    1. 方法声明 Go 语言的方法非常纯粹, 可以看作特殊类型的函数, 其显式地将对象实例或指针作为函数的第一个参数, 并且参数名可以自己指定, 而不强制要求一定是 this 或 self .这个对象实 ...

  7. main方法_错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为:

    错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 Java ...

  8. html中有csstext方法吗,style对象的cssText方法有哪些使用方法

    这次给大家带来style对象的cssText方法有哪些使用方法,style对象的cssText方法使用的注意事项有哪些,下面就是实战案例,一起来看一下. cssText 本质是什么? cssText ...

  9. 15 三明治集成方法和混合策略集成方法

    三明治集成方法和混合策略集成方法 前言 三明治集成方法 混合策略集成方法 总结 前言 关于集成测试方法今天我们再学习两个方法,三明治集成方法和混合策略集成方法. 三明治集成方法 采用三明治方法的优点是 ...

最新文章

  1. Go 语言中手动内存管理
  2. 15年经验分享:40个改变编程技能的小技巧
  3. android环境传感器
  4. React Native Android启动白屏的一种解决方案下
  5. RHEL5 kickstart 安装小结
  6. Oreo授权系统V1.0.6公益开源版本
  7. 面试官:如何评估一个线程池需要设置多少个线程
  8. matlab的基本语法规则_MATLAB基础语法
  9. C语言编写一个计算器(附全源代码)
  10. linux 汇编 变址寻址,【计组】偏移地址、段地址和寻址方式
  11. 朋友圈评论发html,微信评论怎么发图片(微信朋友圈评论可以发表情包啦)
  12. Cardboard的学习(一)Cardboard的介绍
  13. [POI2008]枪战Maf
  14. 15个Android流行框架
  15. 自然语言处理从零到入门 自然语言生成NLG
  16. LeetCode 871. Minimum Number of Refueling Stops 最少加油次数
  17. SLM6500充电板的电磁干扰EMI措施
  18. ojbk的sas proc 过程之transpose
  19. vue 路由的内置组件 router-view 详细介绍(有图有真相)
  20. heic如何转换jpg格式?

热门文章

  1. 学习Node.js笔记
  2. 简易网络直播聊天室源码+自适应手机版正规企业财经直播聊天室系统
  3. 如何将彩色证件照调成黑白
  4. 如何设置下拉框多选以及设置多选值
  5. atom配置python_在Atom中设置Python开发环境
  6. 秒懂dB、dBm、dBw的区别和计算方法
  7. 两台电脑直接连接共享资料
  8. eemd优缺点_一种改进的EEMD方法及其应用研究
  9. Nacos 注册中心主要贡献者详解注册中心的设计原理
  10. 直方图均衡化(Histogram equalization)与直方图规定化