call方法PHP,php __call方法如何使用
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方法如何使用相关推荐
- php魔术方法call,PHP魔术方法__call()
__call()方法的用法 function __call(string $function_name, array $arguments) { // 方法体 } 程序中调用未定义的方法时,__cal ...
- php call()函数,PHP中__call()方法详解
前面给大家介绍了<__construct(),类的构造函数><__destruct(),类的析构函数>,下面继续给大家介绍PHP中__call()方法. __call(),在对 ...
- php魔术方法例子,PHP魔术方法示例
① __get/__set:将对象的属性进行接管 当访问一个不存在的对象属性时: index.php define('BASEDIR',__DIR__); //定义根目录常量 include BASE ...
- php 魔术方法 sleep,PHP 魔术方法: __sleep __wakeup
从php5以后的版本,类就可以使用魔术方法了.php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开 头,除非是为了重载已有的魔术方法. 目前php已有的魔术方法有 ...
- php5的魔术方法,php5中魔术方法学习笔记
1.__construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用. PHP实例代码如下: classTest {function__construct() {echo"b ...
- Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法
1. 方法声明 Go 语言的方法非常纯粹, 可以看作特殊类型的函数, 其显式地将对象实例或指针作为函数的第一个参数, 并且参数名可以自己指定, 而不强制要求一定是 this 或 self .这个对象实 ...
- main方法_错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为:
错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 Java ...
- html中有csstext方法吗,style对象的cssText方法有哪些使用方法
这次给大家带来style对象的cssText方法有哪些使用方法,style对象的cssText方法使用的注意事项有哪些,下面就是实战案例,一起来看一下. cssText 本质是什么? cssText ...
- 15 三明治集成方法和混合策略集成方法
三明治集成方法和混合策略集成方法 前言 三明治集成方法 混合策略集成方法 总结 前言 关于集成测试方法今天我们再学习两个方法,三明治集成方法和混合策略集成方法. 三明治集成方法 采用三明治方法的优点是 ...
最新文章
- Go 语言中手动内存管理
- 15年经验分享:40个改变编程技能的小技巧
- android环境传感器
- React Native Android启动白屏的一种解决方案下
- RHEL5 kickstart 安装小结
- Oreo授权系统V1.0.6公益开源版本
- 面试官:如何评估一个线程池需要设置多少个线程
- matlab的基本语法规则_MATLAB基础语法
- C语言编写一个计算器(附全源代码)
- linux 汇编 变址寻址,【计组】偏移地址、段地址和寻址方式
- 朋友圈评论发html,微信评论怎么发图片(微信朋友圈评论可以发表情包啦)
- Cardboard的学习(一)Cardboard的介绍
- [POI2008]枪战Maf
- 15个Android流行框架
- 自然语言处理从零到入门 自然语言生成NLG
- LeetCode 871. Minimum Number of Refueling Stops 最少加油次数
- SLM6500充电板的电磁干扰EMI措施
- ojbk的sas proc 过程之transpose
- vue 路由的内置组件 router-view 详细介绍(有图有真相)
- heic如何转换jpg格式?