欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php 動態(tài)執(zhí)行帶有參數(shù)的類方法

 更新時間:2009年04月10日 19:43:40   作者:  
PHP中,在事先知道類和類的方法名稱,使用call_user_func函數(shù)可以做動態(tài)執(zhí)行。
官方手冊給出了以下范例:
復(fù)制代碼 代碼如下:

<?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!
?>

復(fù)制代碼 代碼如下:

<?php
// 直接調(diào)用方法的例子
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
?>

那么,如果是普通的方法,而且,方法帶有參數(shù)該怎么辦?
以下是筆者寫的一個小例子,供參考:
復(fù)制代碼 代碼如下:

<?php
// 執(zhí)行帶有參數(shù)的類
class Loveapple{
public function sayHello($a, $b){
echo "Hello:".$a.". ".$b."\n";

}
}
$obj = new Loveapple();
//執(zhí)行結(jié)果 Hello:loveapple. Using instance.
call_user_func(array($obj, "sayHello"), "loveapple", "Using instance.");
//執(zhí)行結(jié)果 Hello:loveapple. Using class name.
call_user_func(array("Loveapple", "sayHello"), "loveapple", "Using class name.");
?>

相關(guān)文章

最新評論