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 相关文章推荐
PhpMyAdmin中无法导入sql文件的解决办法
Jan 08 PHP
PHP扩展编写点滴 技巧收集
Mar 09 PHP
fleaphp rolesNameField bug解决方法
Apr 23 PHP
php Rename 更改文件、文件夹名称
May 24 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP 断点续传实例详解
Nov 11 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
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
php缓冲输出实例分析
2015/01/05 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
python中字符串前面加r的作用
2015/06/04 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
用python实现刷点击率的示例代码
2019/02/21 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
统计学教授推荐信
2014/09/18 职场文书
销售经理岗位职责
2015/01/31 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
配置Kubernetes外网访问集群
2022/03/31 Servers