控制器中间件2025年3月17日 | 阅读 3 分钟 我们也可以将中间件分配给路由文件中控制器的路由。 有多种方法可以将中间件分配给控制器 在 web.php 文件中将中间件分配给控制器。 我们可以在 web.php 文件中将中间件分配给控制器。以下是将中间件分配给所需的步骤 步骤 1: 首先,我们创建一个控制器。我们已经在之前的章节中创建了名为 PostController 的控制器。 步骤 2: 现在,我们创建要分配给 PostController 的中间件。我们使用以下命令创建中间件 上面的命令创建名为 Check 的中间件。 ![]() 步骤 3: 打开在 laravelproject/app/http/Middleware 目录中创建的 Check.php 文件。 步骤 4: 现在,我们必须在 kernel.php 文件中添加中间件 Check.php 的路径。 在上面的代码中,突出显示的语句添加了中间件的路径,即 Check。 步骤 5: 在 web.php 文件中添加以下代码,将中间件分配给 PostController。 上面的代码将中间件(即 check)分配给 PostController。 步骤 6: 在 Web 浏览器中输入 URL https:///laravelproject/public/posts,然后输出将是 ![]() 使用控制器构造函数 我们还可以使用控制器构造函数来分配中间件。它更方便,因为它将中间件限制为控制器类上的特定方法。 以下是使用控制器构造函数分配中间件所需的步骤
上面的代码仅将中间件分配给 show() 方法。 在 PostController 中添加上面的代码后,postController 的结构将如下所示 输出 如果我们访问 URL https:///laravelproject/public/posts,则输出将是 ![]() 上面的输出显示,当我们访问 create() 方法时,中间件 Check.php 文件(中间件)不会被执行。 如果我们更改 web.php 文件的代码,并且代码是 输出 ![]() 在上面的情况下,我们正在访问 PostController.php 文件的 show() 方法,因此它也在执行 Check.php 文件(中间件)。 中间件闭包 控制器还允许您使用中间件闭包注册路由。它允许应用程序为单个控制器定义中间件,而无需单独定义中间件类。 中间件闭包的语法 下一主题Laravel 视图 |
我们请求您订阅我们的新闻通讯以获取最新更新。