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 29 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
May 15 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
6个超实用的PHP代码片段
Aug 10 PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
php进行md5加密简单实例方法
Sep 19 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 5.3.5安装memcache注意事项小结
2011/04/12 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
php实现的双向队列类实例
2014/09/24 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
浅谈javascript的调试
2015/01/28 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
vue 组件内获取actions的response方式
2019/11/08 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
查看Django和flask版本的方法
2018/05/14 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
最常使用的求职信
2014/05/25 职场文书
社会工作专业求职信
2014/07/15 职场文书
大学生见习报告总结
2014/11/04 职场文书
鼋头渚导游词
2015/02/05 职场文书
学年个人总结范文
2015/03/05 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js