PHP反射機制

2021-10-02 23:31:05 字數 1207 閱讀 2804

reflectionclass類

<?php

class a

public function publicfunction()

private function privatefunction()

protected function protectedfunction()

/*** test方法

*/public function test($a,$b)

}$obj = new reflectionclass(new a());

// 相當於例項化a類

$instance = $obj->newinstance();

//$instance->test(1,2);

// 獲取a類中所有的方法

$methods = $obj->getmethods();

$doccomment = ;

foreach($methods as $method)

// 獲取a類中的所有屬性

$properties = $obj->getproperties();

// 獲取乙個類的方法

$method = $obj->getmethod('test');

// 執行乙個帶引數的方法

$method->invokeargs($instance,['a','b']);

echo "\n";

// 獲取乙個類的方法

$method = $obj->getmethod('publicfunction');

// 執行乙個不帶引數的方法

$method->invoke($instance);

// 判斷某個方法是否是公共的(public)

$a = new a();

$method = new \reflectionmethod($a,'test');

$res = $method->ispublic();

//var_dump($res);

// 獲取方法裡面的引數

$parameters = $method->getparameters();

// 獲取方法裡面引數的個數

$numberofparameters = $method->getnumberofparameters();

var_dump($numberofparameters);

php反射機制

php5 具有完整的反射api,新增對類 介面 函式 方法和擴充套件進行反向工程的能力。反射是什麼?它是指在php執行狀態中,擴充套件分析php程式,匯出或提取出關於類 方法 屬性 引數等的詳細資訊,包括注釋。這種動態獲取的資訊以及動態呼叫物件的方法的功能稱為反射api。反射是操縱物件導向范型中元模...

php反射機制

php5新增了一項新的功能 reflection,這個功能使得phper可以reverse engineer class,inte ce,function,method and extension,通過php 就可以得到某object的所有資訊,並且可以和它互動。反射是什麼?它是指在php執行狀態中...

PHP的反射機制

php5新增了一項新的功能 reflection。這個功能使得phper可以reverse engineer class,inte ce,function,method and extension。通過php 就可以得到某object的所有資訊,並且可以和它互動。反射是什麼?它是指在php執行狀態中...