2012-10-14 61 views
-2

可能重複:
Best practices for static constructors使用類作爲功能

我想創建一個類似jQuery是設置方式的對象,這意味着有一個主要功能和實用功能。我想這樣做是這樣的:

class main { 
    function __construct() { 
     echo 'this is the main usage of the object'; 
    } 
    static function helper() { 
     echo 'this is a helper function'; 
    } 
} 

所以使用助手是非常簡單的:main::helper();但爲了使用主函數本身我需要使用new關鍵字每次:new main()。有什麼辦法可以讓我可以在不使用關鍵字new的情況下調用主函數嗎?

+0

您需要具體化您的使用意圖。在jQuery-like和你想要的靜態函數調用(你已經知道該怎麼做)之間建立連接並不容易。 – mario

回答

0

呼叫用輔助例如nameofhelper:

主::助手( 'nameofhelper');

功能類:

abstract class main { 
    function __construct() { 
     echo 'this is the main usage of the object'; 
    } 

    public static function helper($name_of_helper) 
    { 
     $helper = new 'Helper_'.$name_of_helper; 
    } 
} 

Helper類:

class Helper_nameofhelper 
{ 
    function invoke() 
    { 
     return 'invokedhelper'; 
    } 
}