当前位置: 首页 > 知识库问答 >
问题:

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

沈华皓
2023-03-14

我的Laravel 4.2应用程序中的filters.php中有一个方法如下所示:

    // 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号码),它会重定向到带有地址slug的nice URL(例如mydomain.com/property/21938281-123-main-street)

我现在把新过滤器放在哪里?我看到有用于前后的中间件,但我不确定如何让这个特定的中间件工作,因为它实际上不适合前后。

共有1个答案

陈瀚
2023-03-14

创建中间件:

php artisan make:middleware AdminMiddleware

根据你的需要修改它。

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

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中使用:

Route::get('admin/accounts', ['middleware' => 'admin', function () {
    //
}]);

几天前,我不得不从过滤器转移到中间件,因为5.1中不推荐使用它们。

 类似资料:
  • 我正在尝试从laravel 7升级到8的错误,我得到了错误 无法将您的需求解析为一组可安装的软件包。 问题1 使用选项--with-all-dependencies(-w)允许对当前锁定到特定版本的包进行升级、降级和删除。 我的作曲家 什么是错误,我如何修复它?

  • 我正在使用Artisan::call('迁移');在Laravel控制器方法中,它在Laravel版本为4.1时工作。使用作曲家更新命令更新Laravel后(并在composer.js中设置laravel/框架:4.2.*),此控制器方法(因为这是其中唯一的命令)不再工作。 我甚至还加了“密码”= 这已经发生了:http://laravel.io/forum/06-02-2014-not-able

  • 本文向大家介绍Ruby on Rails 从Rails 4.2升级到Rails 5.0,包括了Ruby on Rails 从Rails 4.2升级到Rails 5.0的使用技巧和注意事项,需要的朋友参考一下 示例 注意:升级Rails应用程序之前,请务必确保将代码保存在版本控制系统(例如Git)上。 要从Rails 4.2升级到Rails 5.0,必须使用Ruby 2.2.2或更高版本。如果需要,

  • 我正在尝试将log4j升级到log4j2。我试图升级的特定代码行是: 静态字段在新的中不再可用。相反,似乎使用了静态方法来访问优先级int值,可以将指定为。 但是,此方法还需要指定。在调用时,如何知道要指定哪个? 旧优先级:https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/priority.html 新优先级:https:/

  • 我正在将我的django项目从1.8升级到2.2.0(使用virtualenv中的Python 3.6)。我做了以下更改。 将on_delete添加到所有外键字段 将url反向导入更改为来自django。URL反向导入 在所有应用程序的url文件中包含路径/re_path而不是url 将设置文件中的MIDDLEWARE_CLASSES导入更改为MIDDLEWARE={} 我试图运行服务器,但它仍然

  • 我面临的问题与更新facebook SDK从4.7到4.35 实现'com。脸谱网。android:facebook android sdk:4.35.0' 错误输出为 无法复制C:\用户\泰\下载\项目\karufx-android-更新\app\构建\中间体\转换\desugar\调试\138.jar备份文件夹,构建将继续,但下次修改此文件时将导致冷交换。 和 意外输入:ImmutableJa