【发布时间】:2013-08-30 10:24:38
【问题描述】:
我一直在寻找答案一段时间,但没有明确的结果。我知道您可以将自定义过滤器保存在“app/filters.php”文件中,但如果您试图保持代码库足够干净,它看起来就不那么好了。
假设我正在为我的应用编写一个基于角色的小型(但希望是高效的)身份验证系统 有什么我应该考虑“官方”的路径来创建这个过滤器文件吗?
提前感谢您的帮助。
【问题讨论】:
标签: php filter laravel laravel-4
我一直在寻找答案一段时间,但没有明确的结果。我知道您可以将自定义过滤器保存在“app/filters.php”文件中,但如果您试图保持代码库足够干净,它看起来就不那么好了。
假设我正在为我的应用编写一个基于角色的小型(但希望是高效的)身份验证系统 有什么我应该考虑“官方”的路径来创建这个过滤器文件吗?
提前感谢您的帮助。
【问题讨论】:
标签: php filter laravel laravel-4
您会看到 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() 方法中进行...
【讨论】: