自定义路由未在 Laravel 中解析
Custom defined routes not resolving in Laravel
我有一个 Laravel 5.2 实例,它利用仪表板、案例、家庭、login/logout 和用户(运行良好)的所有典型开箱即用路由。我现在需要创建一个包含步骤(step1、step2、step3 等)的向导,并且我需要访问会话。我把它们分配给了组中间件。
Route::group(['middleware' => 'web'], function () {
Route::get('/', function () {
// Uses Web middleware
});
Route::get('wizard/step1', [
'as' => 'wizard/step1', 'uses' => 'Wizard\WizardController@getStep1']);
Route::get('wizard/step2', [
'as' => 'wizard/step2', 'uses' => 'Wizard\WizardController@getStep2']);
});
但是,当我转到指定路线时,出现 404 错误。所以 WizardController 看起来像下面这样。
namespace App\Http\Controllers\Wizard;
use App\Http\Controllers\Controller;
use App\Http\Requests;
class WizardController extends Controller
{
public function __construct()
{
//$this->middleware('guest');
}
public function getStep1()
{
return view('wizard.step1');
}
}
定义的视图是resources/views/wizard/step1.php
。理想情况下,我想重构它,使 Wizard 成为一个单独的组。但是,我目前定义自定义路由的方式似乎没有任何效果。
我通过 运行 命令解决了我的问题:
php artisan route:clear
这让 Artisan 删除您的路由缓存,您可以确保路由同步。
感谢您的帮助!
缓存路由时会发生这种情况。除非您清除路由缓存,否则您添加的新路由条目将永远不会被识别。
您可以使用php artisan route:clear
删除缓存的路由。
由于您将在开发环境中频繁更改路由,在开发环境中最好不要执行路由缓存。
您可以通过 运行将 artisan route:cache
作为 Git 中的 post-部署挂钩,或者仅 运行 将其作为一部分来完成您的 Forge 部署过程。这样每次您在服务器中部署代码时,您的路由都会自动缓存。
我有一个 Laravel 5.2 实例,它利用仪表板、案例、家庭、login/logout 和用户(运行良好)的所有典型开箱即用路由。我现在需要创建一个包含步骤(step1、step2、step3 等)的向导,并且我需要访问会话。我把它们分配给了组中间件。
Route::group(['middleware' => 'web'], function () {
Route::get('/', function () {
// Uses Web middleware
});
Route::get('wizard/step1', [
'as' => 'wizard/step1', 'uses' => 'Wizard\WizardController@getStep1']);
Route::get('wizard/step2', [
'as' => 'wizard/step2', 'uses' => 'Wizard\WizardController@getStep2']);
});
但是,当我转到指定路线时,出现 404 错误。所以 WizardController 看起来像下面这样。
namespace App\Http\Controllers\Wizard;
use App\Http\Controllers\Controller;
use App\Http\Requests;
class WizardController extends Controller
{
public function __construct()
{
//$this->middleware('guest');
}
public function getStep1()
{
return view('wizard.step1');
}
}
定义的视图是resources/views/wizard/step1.php
。理想情况下,我想重构它,使 Wizard 成为一个单独的组。但是,我目前定义自定义路由的方式似乎没有任何效果。
我通过 运行 命令解决了我的问题:
php artisan route:clear
这让 Artisan 删除您的路由缓存,您可以确保路由同步。
感谢您的帮助!
缓存路由时会发生这种情况。除非您清除路由缓存,否则您添加的新路由条目将永远不会被识别。
您可以使用php artisan route:clear
删除缓存的路由。
由于您将在开发环境中频繁更改路由,在开发环境中最好不要执行路由缓存。
您可以通过 运行将 artisan route:cache
作为 Git 中的 post-部署挂钩,或者仅 运行 将其作为一部分来完成您的 Forge 部署过程。这样每次您在服务器中部署代码时,您的路由都会自动缓存。