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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
PHP脚本数据库功能详解(中)
Oct 09 PHP
php PDO中文乱码解决办法
Jul 20 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
Yii实现显示静态页的方法
Apr 25 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 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中遍历二维数组的几种方法详解
2013/06/08 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Python使用gensim计算文档相似性
2016/04/10 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
经营管理策划方案
2014/05/22 职场文书
本科毕业生自荐信
2014/05/26 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
护理实习生带教计划
2015/01/16 职场文书
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL