首页 > 资讯列表 > 编程/数据库 >> PHP

php 动态执行带有参数的类方法

PHP 2014-12-12 21:18:07 转载来源: 网络整理/侵权必删

本文为大家讲解了php中如何动态执行带有参数的类的方法,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

本文为大家讲解了php中如何动态执行带有参数的类的方法,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.");
?>

 


标签: php 动态 执行 带有 参数 方法


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持