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代码
Aug 08 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
Laravel 队列使用的实现
Jan 08 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
Yii配置文件用法详解
2014/12/04 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
python 调用HBase的简单实例
2016/12/18 Python
python后端接收前端回传的文件方法
2019/01/02 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
魅力教师事迹材料
2014/01/10 职场文书
村庄绿化方案
2014/05/07 职场文书
冬季安全检查方案
2014/05/23 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
甜品店创业计划书
2014/08/14 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
寻找成龙观后感
2015/06/12 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL
Python开发五子棋小游戏
2022/05/02 Python