在哪里保存自定义Laravel过滤器?

时间:2013-08-30 10:24:39

标签: php filter laravel laravel-4

我一直在寻找答案,但没有明确的结果。我知道您可以将自定义过滤器保存在“app / filters.php”文件中,但如果您尝试保持代码库足够干净,那么它看起来不是很好。

假设我正在为我的应用程序编写一个基于auth系统的小型(但希望是高效的)角色 有什么路径我应该考虑“官方”来创建这个过滤器文件吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你会看到Laravel核心开发人员说了很多话:在Laravel中你的文件没有正确的位置。这完全取决于您的项目设计和工作方式。

在泰勒的第一本书(https://leanpub.com/laravel)中,他说:“你的模型目录是否已删除?如果没有,请将其从那里拿出来!”。如果可以删除“重要”目录并删除文件,那么只要您的应用程序从中受益,其他任何内容都可以消失。

一个开始(对我有用,可能不适合你):创建一个app/services/<ServiceName>目录并将相关的filters.php(通过服务)放在那里。然后通过globals.php:

将它们作为Laravel使用自己的filters.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';

在某些时候,你可能需要以不同的方式加载它们,也许是在服务提供商的boot()方法上进行加载......