php - 如何设置 Laravel 中间件的执行顺序?

标签 php laravel laravel-5 laravel-middleware

Laravel 5 documentation描述了两种分配中间件的方法:

  1. 将中间件分配给 Controller 的路由。
  2. 在 Controller 的构造函数中指定中间件。

但是,我意识到在 Controller __construct() 函数中编写的任何代码都将在 Middleware 之前运行,即使 Middleware 是在 Controller 的 __construct 函数的第一行声明。

我找到了一个 bug report对于 Laravel github 存储库中的类似问题。然而,合作者关闭了这个问题,指出“这是预期的行为。”。

我认为 middleware 应该是应用程序之外的“层”,而 __construct 函数是应用程序的一部分。

为什么 __construct 函数在中间件之前执行(假设它是在中间件运行之前声明的)?为什么这是预期的?

最佳答案

涵盖该问题的另一个用例的另一个答案

如果与中间件之间的顺序有关

You can update the $middlewarePriority in your App\Kernel.

关于php - 如何设置 Laravel 中间件的执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31065936/

相关文章:

php - Laravel-5 每个日志表的独立模型

php - 哪个Active Directory的属性对应PHP中ldap_bind函数的 "bind_password"参数

sql - 我如何在查询生成器 laravel 中执行此 SQL

php - Laravel 获取用户今天和明天生日

PHP - 如何将 base_convert() 转换为 base 62

php - 在函数中两次使用 Config::set() 的方法

sql - Laravel 5.3 DB 选择不同的数据库

php - 如何在 codeigniter 中使用两个不同的表只显示一次数据

php - 我如何找出导致元素出现空格的原因? margin 和填充?

php - 如何在 Controller Laravel 上打印出值?