說到反射reflectionclass大家可能都知道了,通過將乙個類的各種屬性封裝一下供使用者使用。
我一開始的時候很是疑惑,既然類的名字都知道了為啥還要用反射,網上別人給的例子讓我看來也純粹是為了反射而反射,後來看到kohana框架的原始碼中對反射的使用,我了解了,一句話:反射可以用來得到一些你從類的名字中獲取不到的屬性。
**片段:
$extension = 'class '.$class.' extends '.$class.'_core ';// start class analysis
$core = new reflectionclass($class.'_core');
if ($core->isabstract())
//var_dump("extension:".$extension);
// transparent class extensions are handled using eval. this is
// a disgusting hack, but it gets the job done.
eval($extension);
這裡獲得了這個類是不是乙個抽象類這個屬性。當然還有其他的屬性我們可以用
可以在php反射官方文件中得到。
總結下來就是,如果你需要例項化乙個類,除了類的名字外你還想知道其他的關於這個類的屬性資訊,那麼你應該用反射來得到。
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執行狀態中...
PHP的反射機制
php5新增了一項新的功能 reflection。這個功能使得phper可以reverse engineer class,inte ce,function,method and extension。通過php 就可以得到某object的所有資訊,並且可以和它互動。反射是什麼?它是指在php執行狀態中...