如何在Laravel中进行简单的重定向?

时间:2018-08-24 02:38:27

标签: php laravel controller routes url-redirection

我正在使用Laravel建立我的投资组合。我在建立我的投资组合的过程中正在学习Laravel,所以我对此很陌生。

我正在尝试使用Route进行简单的重定向。

这就是我在 web.php 中编写的内容:

Route::patch('developer-profile',[
    'as' => 'developer-profile',
    'uses' => 'redirectionLinks@pleaseRedirect'
]);

这就是我编写HTML(刀片式)的方式:

<a href="{{ route('developer-profile') }}">Developer Profile</a>

这就是我的控制器的方式- Redirection.php

namespace app\Http\Controllers;
use app\Http\Controllers\Controller;

public class redirectionLinks extends Controller{

    protected $guard = 'web'; //I am not using it anywhere, but I am searching for anything that I might have missed.

    public function pleaseRedirect(){
        return redirect('developer/developer-profile');
    }
};

我尝试搜索thisthis问题,但并没有真正帮助。

我浏览了Laravel的以下文档链接:

  1. HTTPControllers

  2. HTTPRedirects

以及过去几天中我找不到的其他链接。

我在这里遗漏了什么吗,因为我似乎尝试了从基本功能开始的5-10种基本方法,如下所示:

Route::get('/developer/developer-profile', function(){
    return view('developer/developer-profile');
})->name('developer-profile');

编辑:

当我在CMD中按下php artisan route:list时,出现以下错误窗口:

ReflectionException

更新:

我已将文件名从redirectionLinks.php更改为Redirection.php。现在,当我按下php artisan route:list时,上面的错误向我显示了所有路线,但是由于出现以下错误,重定向仍然没有发生:

MethodNotAllowedException

如果有人对我的要求有所了解,请帮助我解决问题。

谢谢。

1 个答案:

答案 0 :(得分:1)

您必须将文件重命名为redirectionsLinks.php,而不是Redirection.php,如果仍然不能解决问题,请尝试重建自动加载:composer dumpauto

或者在路由中执行此操作,或者将您的类重命名为Redirection,应该可以:

Route::get('developer-profile',[
    'as' => 'developer-profile',
    'uses' => 'Redirection@pleaseRedirect'
]);