我正在开发一个包,注册一些用户可以根据需要添加到路由中的过滤器。
例如
\Route::filter('myPackage.hasSomething', 'Panthro\MyPackage\MyPackage@hasSomethingFilter');
我只关心我应该把它们放在我的包裹里。
当他们在我的服务提供商类中注册时。这对他们来说是个好地方吗?有这些应该去的常见做法吗?
我已经阅读了一些将自定义过滤器放在过滤器文件夹中的博客,唯一的问题是这是针对实际的过滤方法,而不是针对使用路由器注册过滤器的代码。
答案 0 :(得分:-1)
您不应将该代码放入包中,因为最终用户应该能够为您的过滤器指定自定义名称。认为可能已经有另一个名称冲突的现有过滤器。
正常创建您的软件包,唯一的特殊情况是您必须确保类MyPackage
具有方法filter
。然后,最终用户可以使用以下命令安装软件包:
composer require "panthro/mypackage:dev-master"
然后编辑app/config/app.php
并在providers
数组中添加服务提供商:
'providers' => array(
'Panthro\MyPackage\ServiceProvider',
最后将过滤器添加到app/filters.php
文件的底部:
Route::filter('hasSomething', 'Panthro\MyPackage\MyPackage');
欲了解更多信息,请阅读官方文档Registering A Class Based Filter。