[英]Laravel 4 controllers and routes
Heloo,我是第一次制作laraver 4應用,我仍然不了解某些事情,其中之一是控制器:
在laraver 3上,我可以執行以下操作:
Route::get('/',array('uses'=>'home@index'));
並在控制器上:
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'=>'HomeController@Welcome'));
我怎么稱呼它,它不起作用。
完全不了解laravel 4文檔。
showWelcome
方法不是RESTful的,因此它具有直接映射到它的路由。 如果您希望HomeController
上的方法以它們響應的HTTP動詞作為前綴,例如get
, post
, put
,那么您需要向Route::controller
注冊Route::controller
。
Route::controller('/', 'HomeController');
然后,您應該將方法重命名為getWelcome
,然后getWelcome
localhost/yourapp/welcome
來瀏覽至該方法。 如果您想訪問localhost/yourapp
則可以使用getIndex
。
它已經是RESTful了,您的路線上只有一個小錯誤,請嘗試以下操作:
Route::get('/', array('uses'=>'HomeController@showWelcome'));
在使用中,您必須具有ControllerName@methodName
,因此在您的情況下為showWelcome
,而不僅僅是Welcome
。
另外,您可以將其更改為Home,但最好使用名稱HomeController(或AnythingController),除非您有充分的理由。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.