Php 在Laravel 5.0的RouteServiceProvider中使用\App::before()

Php 在Laravel 5.0的RouteServiceProvider中使用\App::before(),php,laravel,laravel-4,laravel-5,laravel-routing,Php,Laravel,Laravel 4,Laravel 5,Laravel Routing,从Laravel 4.2迁移到Laravel 5.0。我将\App::before(function($request)从我的L4.2 filters.php移动到L5.0的RouteServiceProvider.php的boot()方法,但是我得到了一个 Facade.php第210行中的FatalErrorException:调用未定义的方法illumb\Foundation\Application::before() 从中抛出错误。我做错了什么 我没有发现任何东西表明这不应该起作用,所以

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

Facade.php第210行中的FatalErrorException:调用未定义的方法illumb\Foundation\Application::before()

从中抛出错误。我做错了什么

我没有发现任何东西表明这不应该起作用,所以我不确定我的代码在哪里不同。我尝试了包括
使用lightlight\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
        });
    }
试试。在您的情况下,可以使用artisan命令创建新的中间件。请使用以下命令获得帮助:

php artisan help make:middleware
然后在App\Http\Kernel.php中安装中间件


最后,使用or进行保护。

太好了,中间件文档中甚至有一节是关于之前/之后的。