php 动态执行带有参数的类方法


Posted in PHP onApril 10, 2009

官方手册给出了以下范例:

<?php 
// 使用了NameSpace的例子 
namespace Foobar; 
class Foo { 
static public function test() { 
print "Hello world!\n"; 
} 
} 
call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0 
// Hello world! 
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // As of PHP 5.3.0 
// Hello world! 
?>

<?php 
// 直接调用方法的例子 
class myclass { 
static function say_hello() 
{ 
echo "Hello!\n"; 
} 
} 
$classname = "myclass"; 
call_user_func(array($classname, 'say_hello')); 
call_user_func($classname .'::say_hello'); // As of 5.2.3 
?>

那么,如果是普通的方法,而且,方法带有参数该怎么办?
以下是笔者写的一个小例子,供参考:
<?php 
// 执行带有参数的类 
class Loveapple{ 
public function sayHello($a, $b){ 
echo "Hello:".$a.". ".$b."\n"; } 
} 
$obj = new Loveapple(); 
//执行结果 Hello:loveapple. Using instance. 
call_user_func(array($obj, "sayHello"), "loveapple", "Using instance."); 
//执行结果 Hello:loveapple. Using class name. 
call_user_func(array("Loveapple", "sayHello"), "loveapple", "Using class name."); 
?>
PHP 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
优化PHP程序的方法小结
Feb 23 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
如何用php获取程序执行的时间
Jun 09 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
php权重计算方法代码分享
Jan 09 PHP
php获取目标函数执行时间示例
Mar 04 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 PHP
PHP7中I/O模型内核剖析详解
Apr 14 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
详解PHP用mb_string处理windows中文字符
May 26 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 #PHP
php 随机生成10位字符代码
Mar 26 #PHP
php SQL之where语句生成器
Mar 24 #PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 #PHP
php xml实例 留言本
Mar 20 #PHP
php xml文件操作实现代码(二)
Mar 20 #PHP
php xml文件操作代码(一)
Mar 20 #PHP
You might like
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
js切换光标示例代码
2013/10/10 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
js用类封装pop弹窗组件
2017/10/08 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
nodejs初始化init的示例代码
2018/10/10 NodeJs
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
Vue.js实现tab切换效果
2019/07/24 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
python调用API实现智能回复机器人
2018/04/10 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
大学毕业生自我鉴定
2013/11/05 职场文书
小学校本培训方案
2014/06/06 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
走近毛泽东观后感
2015/06/04 职场文书
导游词之台湾阿里山
2019/10/23 职场文书