我一直在寻找答案,但没有明确的结果。我知道您可以将自定义过滤器保存在“app / filters.php”文件中,但如果您尝试保持代码库足够干净,那么它看起来不是很好。
假设我正在为我的应用程序编写一个基于auth系统的小型(但希望是高效的)角色 有什么路径我应该考虑“官方”来创建这个过滤器文件吗?
提前感谢您的帮助。
答案 0 :(得分:2)
你会看到Laravel核心开发人员说了很多话:在Laravel中你的文件没有正确的位置。这完全取决于您的项目设计和工作方式。
在泰勒的第一本书(https://leanpub.com/laravel)中,他说:“你的模型目录是否已删除?如果没有,请将其从那里拿出来!”。如果可以删除“重要”目录并删除文件,那么只要您的应用程序从中受益,其他任何内容都可以消失。
一个开始(对我有用,可能不适合你):创建一个app/services/<ServiceName>
目录并将相关的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';
在某些时候,你可能需要以不同的方式加载它们,也许是在服务提供商的boot()方法上进行加载......