【问题标题】:Laravel filters in route or controllers?路由或控制器中的 Laravel 过滤器?
【发布时间】:2015-01-26 10:06:06
【问题描述】:

对于放置过滤器的位置是否有最佳做法?我想对资源(例如:用户)的每个操作进行过滤,如果我将它们全部放在 routes.php 中,这看起来会让人不知所措,但大多数人都会这样做。如果我在控制器中应用过滤器,我也想对其他所有东西都这样做,这样其他人总是知道去哪里看。

您如何组织过滤器?

【问题讨论】:

  • 如果你有很多,我建议把它放在FilterServiceProvider
  • 请阅读link
  • @RajibGhosh 我知道控制器过滤器。我只是想知道组织它们的最佳做法。
  • @Raphael_ 我认为你可以使用任何一个...我认为它不会衡量哪个是最好的。但是路由/过滤器会在控制器之前被首先击中。所以你必须决定你选哪一个
  • 这完全取决于您的偏好。我喜欢将过滤器放在我的路由文件中,这样控制器就不需要知道任何关于它们的信息。还要记得选择一个并坚持,否则你得来回走走才知道是怎么回事

标签: php laravel laravel-4 laravel-routing


【解决方案1】:

“最佳实践”可能只是在路线中进行,仅仅是因为这是大多数人会去寻找它们的地方。

如果您想放置多个路由的过滤器,那么一种巧妙的方法是将这些路由放入Route::group

Route::group(['before' => 'auth.whatifs'], function(){
 Route::get('user', ['uses' => 'UserController@function', 'as' => 'user.function']);
 " Another route "
 " Yet another route "
});

【讨论】:

    【解决方案2】:

    将过滤器放在哪里(在路由或控制器中)实际上并不重要。但基本上,如果你能控制你的路线,这将是简单易懂的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 2017-02-27
      相关资源
      最近更新 更多