2013-08-30 16 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'; 

在某些时候,您可能需要以不同的方式加载它们,也许这样做在启动服务提供商()方法。 ..