2016-02-25 76 views
2

使用路由前綴從內腔5.2文檔:在流明

前綴組屬性可被用於前綴的 組與給定URI中的每個路由。例如,您可能要前綴的所有路由組中 的URI與管理:

$app->group(['prefix' => 'admin'], function() use ($app) { 
    $app->get('users', function() { 
     // Matches The "/admin/users" URL 
    }); 
}); 

我的代碼:

$app->group(['prefix' => 'v1'], function() use ($app) { 
    $app->get('lessons', function() { 
     ['as' => 'lessons.index', 'uses' => '[email protected]']; 
    }); 
}); 

這將返回一個200,但它顯然不是調用index()方法在LessonsController

我也試過這樣:

$app->group(['prefix' => 'v1'], function() use ($app) { 
    $app->get('lessons', ['as' => 'lessons.index', 'uses' => '[email protected]']); 
}); 

結果ReflectionException in Container.php line 738: Class LessonsController does not exist

回答

1

我目前使用的前綴是這樣的:

$app->group(['namespace' => "App\Http\Controllers", 'prefix' => 'v1'], function($app){ 
    $app->get('/lessons', '[email protected]'); 
}); 

這在我的版本流明的正常工作。你會訪問URL /v1/lessons,它是處理由index()方法LessonsController

內:這樣看來,流明文檔遺漏了,爲了做到這一點,你需要按順序'namespace' => "App\Http\Controllers"鍵值對的這工作。

+0

我只是粘貼到你寫的東西,我仍然得到錯誤'ReflectionException在Container.php行738:類LessonsController不存在' - 哪個版本的流明是它在爲你工作? – Joseph

+0

如果我只是做'$ app-> get('/ v1/lessons','LessonsController @ index');'沒有將它包裝在一個前綴中,那麼它可以工作,所以控制器顯然是正確的。 – Joseph

+0

您可以嘗試運行'composer dump-autoload'。然而,我錯過了我的命名空間不同,因此我的陣列中也有''namespace'=>「App \ Http \ Controllers \ Backend」',也許你可以嘗試'App \ Http \ Controllers',首先出來,但他們現在已經解決了這個問題。 – DavidT