我想你要做的是跟蹤正在運行的對象?不完全確定你的最終目標是在這裏。
也許您在運行時正在尋找ReflectionClass?您可以確定一個類是否存在以及擴展類是什麼。
這聽起來像是你想要的是一個對象工廠,跟蹤正在使用的對象。查找單身人士,工廠和靜態成員函數/變量的概念。
至於這樣的:
class A
{
public function __construct()
{ print "A has been called";
}
}
如果B類覆蓋的構造,它不會調用構造函數。例如:
class B extends A
{
public function __construct()
{ print "B has been called";
// parent::__construct(); /// would print out A has been called
}
}
然而,在代碼中,你可以檢查,如果B是的許多方面之一的實例:
function doSomethingWithA(A $a)....
function doSmoethingWithA($a)
{
if($a instanceof A)
{
// blah
}
}
不知道有沒有什麼幫助了。
如果我不在那條賽道上,那實際上會有所幫助。謝謝!我正在探索其他做我需要的方式。我正在構建一個名爲Sqool的數據庫抽象層,它對於用戶能夠創建一個類然後使用它非常好。問題是我只知道一個底層的「sqool類」(表)存在,如果有人已經實例化至少一個對象。我打算解決這個問題的方式是讓用戶創建一個函數(帶有標準名稱),如果我還沒有意識到該類,我可以調用它。如果你有興趣查看http://tinyurl.com/o3tz2n – 2009-08-14 21:51:03