2009-08-03 29 views
1

我是一個新的整體MVC的概念,因爲我剛剛開始使用CakePHP框架開發一個網站。因此,我要求你以最佳實踐的方式達到以下目的。如何使用目錄中的圖像路徑提供MVC視圖?

我希望能夠在目錄中放置多個圖片,然後掃描其中的所有文件名。這些文件名應該隨後傳遞給任意視圖,然後循環遍歷所有文件名,使得它們的標籤爲img

如果能夠以一般方式完成這將是很好的,這樣我可以重複使用相同任務的代碼,但使用不同的目錄名稱。

我已經嘗試了以下兩種方法。儘管如此,由於某種原因,這些感覺不像這樣做。

  1. 用創建模型。
  2. 創建一個普通類並將其作爲供應商導入。

什麼實現我上面描述的最好的辦法

回答

1

我在想你最初的想法是更好的,使用模型來遍歷/讀/寫目錄。將文件結構看作您的數據源。您可以使用$ this-> data將dirname傳遞給模型,然後讓它使用File class來檢索您需要的內容。這將使它可以通過控制器輕鬆移動(使用loadModel()

如果您將圖像路徑移動到數據庫中,只需重新編寫模型即可將其考慮在內。

0

我已經完成了以下工作:創建一個ImageManager類,並將其作爲IImageManager傳遞給Image Image的構造函數,而不是傳遞存儲庫。然後ImageManager可以完成您提到的所有工作。

編輯:我在.net mvc中做了這些,並沒有CakePHP的經驗,但我想有一個地方可以將ImageManager的具體實現註冊爲ImageManager,這樣框架就知道要傳遞給控制器構造函數

+0

這聽起來確實不錯。然而,我並不確定如何在CakePHP中實現這一點,因爲我只是一個CakeBaker新手。如果CakePHP中可以這樣做,那麼有人可以提供一個提示,那麼在那種情況下如何? – joelpet 2009-08-03 09:43:31

0

我會爲此創建一個helper

編輯:而對於通過文件系統拖網使用幫助內的Folder類。

+0

啊哈,這是一個有趣的建議;我一直認爲這對於視圖(和幫助者)來說很有邏輯,但是可能並非如此。我會認爲這種方法結束了,如果沒有人反對,可能會實施。 – joelpet 2009-08-03 09:51:25

+1

我反對。我不認爲視圖助手是圍繞文件系統拖網的邏輯的正確位置 – 2009-08-03 09:55:52

相關問題