首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Laravel从4.2升级到5。如何让过滤器工作?

将Laravel从4.2升级到5。如何让过滤器工作?
EN

Stack Overflow用户
提问于 2015-07-14 09:45:39
回答 1查看 278关注 0票数 0

我在我的Laravel4.2应用程序的filters.php中有一个方法,看起来像这样:

代码语言:javascript
复制
    // Clean/self-updating URLs for property
    Route::filter('property-slug', function($route, $req)
    {
        $listing = $route->parameter('listing');

        if ($route->parameter('metainfo') != $listing->metainfo) {
            return Redirect::route('listing.full', [$listing->MLSNumber, $listing->metainfo]);
        }

    });

所有这一切都允许我输入mydomain.com/property/21938281 (或一些MLS号),它会重定向到带有地址段的漂亮URL (例如mydomain.com/property/21938281-123-main-street

我现在应该把新的过滤器放在哪里?我看到有用于之前和之后的中间件,但我不确定如何让这个特定的中间件工作,因为它并不真正适合之前或之后。

EN

回答 1

Stack Overflow用户

发布于 2015-07-14 11:00:35

创建中间件:

代码语言:javascript
复制
php artisan make:middleware AdminMiddleware

根据需要对其进行修改。

打开app/Http/Kernel.php,添加如下内容:

代码语言:javascript
复制
protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'admin' => \App\Http\Middleware\AdminMiddleware::class
];

routes.php中使用

代码语言:javascript
复制
Route::get('admin/accounts', ['middleware' => 'admin', function () {
    //
}]);

几天前,我不得不从过滤器转移到中间件,因为它们在5.1中被弃用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31396284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档