我一直在寻找答案一段时间,但没有明确的结果。我知道您可以将自定义过滤器保存在“app/filters.php”文件中,但如果您试图保持代码库足够干净,它看起来并不那么好。
假设我正在为我的应用程序编写一个基于角色的小型(但希望是高效的)身份验证系统,是否有任何路径我应该考虑“官方”来创建此过滤器文件?
在此先感谢您的帮助。
你会看到 Laravel 核心开发人员说了很多话:在 Laravel 中没有像正确放置文件这样的事情。这完全取决于您的项目设计和工作方式。
在 Taylor 的第一本书 ( 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';
在某些时候,您可能需要以不同的方式加载它们,也许是在服务提供商的 boot() 方法上进行......