2011-05-31 66 views
2

我不確定這是否可能,或者如果這是發佈此類問題的正確位置,但在這裏!PHP自動加載變量

有什麼辦法自動加載一個具有相同名稱的類的變量?沒有以前創建$ MyClass的變量中MyClass類的一個實例

$MyClass->display(); 

:這樣的一個例子:

class MyClass 
{ 
    .... 
    function display() { echo 'test'; } 
} 

我想知道是否有可能做到以下幾點。

正如我所說我不知道​​這是否可能,如果這不是這種問題的正確地方,我會很樂意刪除我的帖子。

更新 感謝所有的回覆傢伙,我越想越想讀完你的評論,我意識到這只是一個不好的主意,真的不實際。

謝謝

+1

你爲什麼要這樣? – 2011-05-31 20:15:09

回答

0

你可以做的是讓你的方法static並直接調用該方法的類:

class MyClass 
{ 
    public static function display() { echo 'test'; } 
} 

MyClass::display(); 

除了「自動加載「變量是不可能的。

2

我認爲你應該採取不同的方法,並使用靜態方法。

class MyClass 
{ 
    .... 
    static function display() { echo 'test'; } 
} 

MyClass::display(); 

您只能使用無論該類的哪個實例行爲相同的函數來執行此操作。你的例子是一個靜態方法,因爲函數總是返回test。如果函數必須使用實例變量或方法,那麼你不能使用它。

0

使其成爲一種靜態方法。您不需要創建類的實例來調用靜態方法。

class foo { 
    private static $test; 

    public static function test() { 
     echo 'test'; 
    } 
} 

,然後調用它:

foo::test();