2012-05-15 105 views
0

我是kohana的新手,也相對於php。在kohana中定義全局函數

我有一個簡單的URI編碼函數,它模仿JS%100的函數,而不像PHP那樣。

我想在某些類中使用這個函數,但我不想在它們中的每一箇中定義它。

那麼,我怎樣才能定義一個全局函數在所有地方使用?

(我不想創建一個類的3行代碼的功能)

謝謝!

回答

4

重載核心URL輔助類。添加你的函數作爲一個靜態方法。

2

凌駕於避免良好面向對象原則的願望上。創建一個新類並創建一個靜態公共函數。不要創建古老的全球功能。

1
<?php 
function yourFunction() { 
    return 'your result'; 
} 

那怎麼樣?只需將它寫入一個總是包含在內的文件中,您就可以輕鬆前往。不要爲了自己在做OO而去創建一個靜態類,這沒有意義。

0

你可以把你的整體功能在你引導(APPPATH/bootstrap.php)雖然我推薦在APPPATH/classes/url.php延伸通過創建一個新的文件的核心URL輔助類(假設你是在Kohana的3.X):

class URL extends Kohana_URL { 

    public static function encode($uri) 
    { 
     // ... 
    } 

} 

它幾乎總是值得3行代碼。 Kohana專爲您設計,以覆蓋其核心課程。您的代碼將更易於維護。