【问题标题】:Using \App::before() in RouteServiceProvider in Laravel 5.0在 Laravel 5.0 的 RouteServiceProvider 中使用 \App::before()
【发布时间】:2015-09-26 13:21:18
【问题描述】:

从 Laravel 4.2 迁移到 Laravel 5.0。我将 \App::before(function($request) 从我的 L4.2 filters.php 移动到 L5.0 的 RouteServiceProvider.php 的 boot() 方法,但我得到了一个

FatalErrorException in Facade.php line 210: Call to undefined method Illuminate\Foundation\Application::before()

由此引发的错误。我做错了什么?

我没有发现任何说这不应该工作的东西; an SO question/answer says that it worked for another guy,所以我不确定我的代码在哪里不同。我试过包括use Illuminate\Support\Facades\App;\App::before,但无济于事。

<?php namespace App\Providers;

use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\App;

class RouteServiceProvider extends ServiceProvider {

    protected $namespace = 'App\Http\Controllers';

    public function boot(Router $router)
    {

        App::before(function($request)
        {
            //My before code
        });
    }

【问题讨论】:

    标签: php laravel laravel-4 laravel-5 laravel-routing


    【解决方案1】:

    试试Middleware。在您的情况下,您可以使用工匠命令创建一个新的中间件。使用以下命令获取帮助:

    php artisan help make:middleware
    

    然后register你的中间件在 App\Http\Kernel.php

    最后使用Route Group MiddlewareController Middleware进行保护。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-24
    • 2015-05-23
    • 2020-08-30
    • 2015-05-04
    • 2020-11-22
    • 2019-03-10
    • 2020-05-05
    • 1970-01-01
    相关资源
    最近更新 更多