2013-06-04 169 views
1

Heloo,即時作出了第一次,有些事情我還是不明白,他們中的一個laraver 4應用程序是控制器:Laravel 4個控制器和路線

在laraver 3我可以這樣做:

Route::get('/',array('uses'=>'[email protected]')); 

,並在控制器:

public function get_index(){ 
    return 'hello'; 
} 

但現在laravel 4我有類似:

class HomeController extends BaseController { 

    public function showWelcome() 
    { 
     return View::make('home.main'); 
    } 

} 

首先在這個文件中,我可以將HomeController更改爲Home嗎? 我怎樣才能使控制器安寧?

,並在路線:

Route::get('/', array('uses'=>'[email protected]')); 

我怎麼能調用它,它不工作。

根本看不懂laravel 4文檔。

回答

2

它已經REST風格,你只是有你的路線上的小蟲子,試試這個:

Route::get('/', array('uses'=>'[email protected]')); 

在使用你必須有[email protected],所以它是showWelcome你的情況,而不僅僅是Welcome。另外,您可以將其更改爲Home,但您最好使用HomeController(或AnythingController)名稱,除非您有很好的理由。

+0

這不起作用。看起來像它未定義的路線。 –

+0

看看你的路線'php artisan routes' –

+0

看起來像一組路線是「取消」索引路線,爲什麼它可能是? –

3

方法showWelcome不是RESTful,因此它有一個直接映射到它的路由。如果您希望HomeController上的方法前綴爲它們響應的HTTP動詞,如get,postput,則需要使用Route::controller註冊控制器。

Route::controller('/', 'HomeController'); 

您應該然後重命名方法getWelcome,你會瀏覽到它擊中localhost/yourapp/welcome。如果您想要擊中localhost/yourapp,您將使用getIndex

+0

OMG謝謝你! –