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 相关文章推荐
输出控制类
Oct 09 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
php利用ZipArchive类操作文件的实例
Jan 21 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
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
php 静态变量的初始化
2009/11/15 PHP
php设置编码格式的方法
2013/03/05 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
js 设置选中行的样式的实现代码
2010/05/24 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
python对象及面向对象技术详解
2016/07/19 Python
python一键升级所有pip package的方法
2017/01/16 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
银行实习自我鉴定
2013/10/12 职场文书
中职生自荐信
2013/10/13 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
超市创业计划书
2014/04/24 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
优秀高中学生评语
2014/12/30 职场文书
收银员岗位职责范本
2015/04/07 职场文书
个人向公司借款协议书
2016/03/19 职场文书
Golang 遍历二叉树
2022/04/19 Golang