2011-10-27 51 views
1

這是一個多部分問題。加載CakePHP Helpers

背景:

我建設使用CakePHP我的第一個網站,我喜歡它至今。我有一個數據庫設置,加載的初始數據,以及一些模型,視圖和控制器來與數據接口。

我創建了一個全局可訪問的函數來創建添加/編輯/刪除類型的圖像鏈接在各個領域。它將用於多個視圖,所以我需要它可訪問,基本上,無處不在。該功能在/app/config/bootstrap.php中定義。我希望能使用HTML輔助的$html->image()$html->link()方法來推動這項工作,但他們沒有提供bootstrap.php和我不知道如何加載/訪問這裏我定義我的功能HTML輔助。

問題:

1)這是一個合理的/慣用的地方來定義這種功能?

2)如果這不是定義函數的正確位置,我應該在哪裏定義它?

3)如果是這樣定義函數的正確的地方,我怎麼能去裝載各種CakePHP的傭工?

同樣,我是新來CakePHP的,所以請讓我知道,如果我的問題是不清楚,原諒我的無知。我讀過/通過公平量的CakePHP文檔的搜索,雖然我可以通過App::import(...);$helpers = array(...);發現很多控制器內裝載傭工引用,我似乎不能夠訪問應用程序對象和$helpers成員是特定的我假設這個類是AppController。我假設我錯誤地解決了這個問題,所以請幫助我理解Cake完成此任務的方式。

回答

2

不,不是這樣的功能,正確的地點(或者更準確地說,它違背了MVC模式)。對於函數,更好的方法是create your own helper。根據鏈接的複雜程度,您也可以使用elements

由於拇指只有那些完全獨立的東西在其他應用程序應該在bootstrap.php中,甚至那些最經常會更好別處功能的規則。

+0

太好了,非常感謝您的幫助,我現在已經開始工作了! – theraccoonbear