php 动态执行带有参数的类方法
2015-01-24信息快讯网
PHP中,在事先知道类和类的方法名称,使用call_user_func函数可以做动态执行。
官方手册给出了以下范例:<?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."); ?>
解析PayPal支付接口的PHP开发方式
php购物网站支付paypal使用方法
php下封装较好的数字分页方法
php下使用iconv需要注意的问题
批量修改RAR文件注释的php代码
Windows 下的 PHP-PEAR 安装方法
php运行出现Call to undefined function curl_init()的解决方法
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
PHP 函数执行效率的小比较
PHP计划任务之关闭浏览器后仍然继续执行的函数
php set_time_limit(0) 设置程序执行时间的函数
PHP执行linux系统命令的常用函数使用说明
Cakephp 执行主要流程
sourcesafe管理phpproj文件的补充说明(downmoon)
PHP获取类中常量,属性,及方法列表的方法
php 随机生成10位字符代码
php SQL之where语句生成器
php cookie 作用范围C不要在当前页面使用你的cookie
php xml实例 留言本
php执行sql语句的写法
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
php mssql 日期出现中文字符的解决方法
隐性调用php程序的方法
PHP Ajax中文乱码问题解决方法
php 页面执行时间计算代码
PHP执行速率优化技巧小结
可以在线执行PHP代码包装修正版
影响PHP+MYSQL执行速度的写法对比第1/7页