2013-08-30 19 views
1

我一直在尋找一個答案,現在沒有明確的結果。我知道你可以將自定義過濾器保存在'app/filters.php'文件中,但如果你想保持足夠的代碼基礎,它看起來並不那麼棒。保存自定義Laravel過濾器的位置?

假設我正在爲我的應用程序編寫一個小的(但希望有效的)基於角色的身份驗證系統 是否有任何路徑我應該考慮「官方」來創建此過濾器文件?

在此先感謝您的幫助。

回答

2

你會看到Laravel核心開發人員說的很多東西:在Laravel中沒有像你的文件的正確位置那樣的東西。這完全取決於您的項目設計和工作方式。在泰勒的第一本書(https://leanpub.com/laravel)中他說:「你的模型目錄已經刪除了嗎?如果沒有,就把它從這裏刪除!」。如果一個「重要的」目錄可以被刪除並且文件被移走,那麼其他任何東西都可以消失,只要你的應用程序從中受益。

一個開始(對我很好,也許不適合你):創建一個app/services/<ServiceName>目錄並將相關的filters.php(通過服務)放在那裏。然後加載它們作爲Laravel做自己的filters.php,通過globals.php:

/* 
|-------------------------------------------------------------------------- 
| Require The Filters File 
|-------------------------------------------------------------------------- 
| 
| Next we will load the filters file for the application. This gives us 
| a nice separate location to store our route and application filter 
| definitions instead of putting them all in the main routes file. 
| 
*/ 

require __DIR__.'/../filters.php'; 

在某些時候,您可能需要以不同的方式加載它們,也許這樣做在啓動服務提供商()方法。 ..