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命名空间(Namespace)的使用详解
May 04 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
php查询及多条件查询
Feb 26 PHP
php两点地理坐标距离的计算方法
Dec 29 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 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 PDO中文乱码解决办法
2009/07/20 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
PHP中16个高危函数整理
2019/09/19 PHP
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python3读取zip文件信息的方法
2015/05/22 Python
Python实现视频下载功能
2017/03/14 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
利用python实现汉诺塔游戏
2021/03/01 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
后勤副校长自我鉴定
2013/10/13 职场文书
平面设计的岗位职责
2013/11/08 职场文书
机械专业求职信范文
2014/07/15 职场文书
支行行长竞聘报告
2014/11/06 职场文书
政协委员个人总结
2015/03/03 职场文书
音乐课外活动总结
2015/05/09 职场文书
离职证明范本
2015/06/12 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
PHP正则表达式之RCEService回溯
2022/04/11 PHP