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 相关文章推荐
php学习笔记 数组遍历实现代码
Jun 09 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
PHP命名空间namespace用法实例分析
Sep 27 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
php实现留言板功能
Mar 05 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
php服务器的系统详解
Oct 12 PHP
PHP的new static和new self的区别与使用
Nov 27 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
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
javascript几个易错点记录
2014/11/26 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python有证书的加密解密实现方法
2014/11/19 Python
Python功能键的读取方法
2015/05/28 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
python 检查文件mime类型的方法
2018/12/08 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
详解用python生成随机数的几种方法
2019/08/04 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
Python requests模块cookie实例解析
2020/04/14 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
python Scrapy框架原理解析
2021/01/04 Python
营销与策划个人求职信
2013/09/22 职场文书
博士研究生自我鉴定范文
2013/12/04 职场文书
世界地球日活动总结
2015/02/09 职场文书
实名检举信范文
2015/03/02 职场文书
六一亲子活动感想
2015/08/07 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server