2012-12-25 132 views
3

我正在開發一個使用Laravel的應用程序。不過,我對應用程序的模塊化結構有疑問。Laravel模塊化結構

下面是一個例子。

假設我需要一個名爲「特色項目」的模塊;

這是一個應包含在某些控制器中的小模塊。

事情是我不知道如何做到這一點?這應該是一個新的控制器,將被稱爲內部其他控制器?

這應該是一個模型? 這應該寫成一個捆綁?

有沒有人有什麼想法是什麼是最好的方法?

回答

0

某些特色項目可能會對您的數據庫進行調用。我會在您的產品模型中創建一個名爲getFeaturedItems的方法。然後用口才或流利來獲得結果。

7

我不認爲這是一個正確的答案,因爲它是首選的問題,儘管有些事情需要記住讓你做出關於你的代碼應該放在哪裏的明智決定。

該模塊的佔地面積是否很小,並且功能不會超過其自身?

  • 創建庫

是否模塊請求它自己的路線和意見,但圖書館沒有要求?

  • 創建應用控制器
  • 使用Laravel路由
  • 使用束控制器

是否模塊包含兩個以上?

  • 創建控制器和庫

它不是那麼簡單的,其他因素都應該考慮到還有一個包。例如,如果模塊需要多個控制器,您最好將它寫入一個包中。由於捆綁軟件並不要求您在捆綁軟件目錄中有更多的start.php文件,因此您可以使用自動加載器註冊您想要的內容。從這裏你可以看到很多人的喜好將是以捆綁的方式構建所有的模塊化代碼。

0

該軟件包使您能夠將Laravel 5與模塊系統配合使用。您可以簡單地將自己的控制器,模型,視圖,翻譯和路徑文件放入或生成模塊到應用程序/模塊文件夾中,並繼續使用它們。

按照以下步驟

安裝

安裝該軟件包的最佳方式是經由作曲家終端。

運行以下命令從項目根

作曲家需要阿爾喬姆 - schander/L5-模塊化 一旦這個操作完成,只需添加服務提供商到項目的config/app.php,大功告成。

服務提供商

ArtemSchander \ L5Modular \ ModuleServiceProvider ::類,

入門

內置的工匠命令PHP工匠製作:模塊名[--no遷移] [ - no-translation]會在app/Modules文件夾中生成一個準備使用的模塊,並在必要時進行遷移/翻譯。

https://github.com/Artem-Schander/L5Modular