2013-12-16 42 views
0

我爲我的web服務項目使用laravel 4.0。我嘗試將相對路徑分配給控制器子文件夾,但仍收到錯誤消息。Laravel - 如何爲子文件夾控制器分配相對路徑?

這是我的路由器看起來像

Route::group(array('prefix' => 'merchant'), function() 
{ 
    Route::resource('index', '[email protected]'); 
    Route::resource('product', '[email protected]'); 
    Route::resource('general', '[email protected]'); 
}); 

電流路徑

/app/controllers/ProductController.php

我想是這樣的一個

/app/controll ers/merchant/ProductController.php

非常感謝。

回答

4

你需要一個namespace來實現這一目標。

在您的控制器文件夾中創建一個名爲merchant的目錄,並將您的ProductController.php置於Merchant目錄中。

然後打開你的ProductController.php並使用以下命名空間上的文件的頂部。

<?php namespace Merchant; 

class ProductController extends /BaseController 
{ 

該編輯你的路線文件後:

Route::get('index', 'Merchant\[email protected]'); 

取出Route::group(array('prefix' => 'merchant'), function()。當您有多個路線的公共網址時使用前綴。

例如:

http:://laravel.com/xyz/products 
http:://laravel.com/xyz/category 
http:://laravel.com/xyz/posts 

這裏xyz常見於每個URL。所以,在這種情況下,你可以使用組前綴的路由xyz

還有一兩件事,我可以看到,你用資源控制器。

Route::resource('index', '[email protected]'); 
    Route::resource('product', '[email protected]'); 
    Route::resource('general', '[email protected]'); 

你知道嗎默認情況下,對於資源控制器,Laravel會生成7條路由。因此,使用資源控制器時無需創建@showIndex函數。

Route::resource('index', 'ProductController'); 
Route::resource('product', 'CategoryController'); 
Route::resource('general', 'GeneralController'); 

更多資源控制器:

http://laravel.com/docs/controllers#resource-controllers

相關問題