程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 動態執行帶有參數的類方法

php 動態執行帶有參數的類方法

編輯:關於PHP編程

官方手冊給出了以下范例:
復制代碼 代碼如下:
<?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.");
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved