Laravel 在包中设置过滤器

Laravel 在包中设置过滤器,laravel,laravel-4,Laravel,Laravel 4,我正在开发一个包,它可以注册一些过滤器,如果用户愿意,可以添加到他们的路由中 例如 我只是担心我应该把这些放在我的包裹里 现在他们在我的服务提供商课程中注册。这对他们来说是个好地方吗?是否有一个共同的做法,这些应该去哪里 我读过一些博客,这些博客将自定义过滤器放在过滤器文件夹中,唯一的问题是,这是针对实际的过滤器方法,而不是针对向路由器注册过滤器的代码 您不应该将该代码放入包中,因为最终用户应该能够为过滤器指定自定义名称。认为可能已存在另一个名称冲突的筛选器 只需像平常一样创建包,唯一的特殊之处

我正在开发一个包,它可以注册一些过滤器,如果用户愿意,可以添加到他们的路由中

例如

我只是担心我应该把这些放在我的包裹里

现在他们在我的服务提供商课程中注册。这对他们来说是个好地方吗?是否有一个共同的做法,这些应该去哪里


我读过一些博客,这些博客将自定义过滤器放在过滤器文件夹中,唯一的问题是,这是针对实际的过滤器方法,而不是针对向路由器注册过滤器的代码

您不应该将该代码放入包中,因为最终用户应该能够为过滤器指定自定义名称。认为可能已存在另一个名称冲突的筛选器

只需像平常一样创建包,唯一的特殊之处是您必须确保您的类
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');

有关更多信息,请阅读官方文件。

这并不能回答我的问题。我可以把过滤器放在我的包裹里的什么地方?我不希望用户必须这样做。那么answser在服务提供程序中。服务提供程序中的位置是什么?register()或boot()方法,具体取决于包的要求。官方文件都有解释
Route::filter('hasSomething', 'Panthro\MyPackage\MyPackage');