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简单静态页生成过程
Mar 27 PHP
PHP5 字符串处理函数大全
Mar 23 PHP
PHP中Date()时间日期函数的使用方法小结
Apr 20 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
php防止sql注入简单分析
Mar 18 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
Aug 25 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
Django 中 cookie的使用
Aug 17 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 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
星际实力自我测试
2020/03/04 星际争霸
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
PHP 图片处理
2020/09/16 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
学习心得体会
2014/01/01 职场文书
班组建设经验交流材料
2014/05/12 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js