2014-11-24 83 views
0

兩者之間的區別是什麼?誰能解釋一下?Laravel之間的區別路由方法

  1. Route :: get('login','webcontroller @ login'); ('''''登錄','使用'=>'webcontroller @ login'));

+0

有人說將來會更改網址,但我們也可以更新網址,例如 Route :: get('login','webcontroller @ login'); => Route :: get('newname','webcontroller @ login'); – 2014-11-24 12:21:39

+0

@OP:是的,你可以。但是,如果你在600個不同的視圖中引用了路由URL,那就不那麼容易了;)明白了嗎? – thpl 2014-11-24 12:33:51

回答

0

好吧。 Route對象的靈活性(我認爲它屬於Symfony)

在第一個語句中,您明確指出某個地址應該觸發哪個控制器的動作(在您的情況下,它是'login',它觸發了login()WebController)。

在第二條語句中,您可以爲控制器的方法添加一個「數組」設置,在您的情況下,您已指定了一個名稱。 「login」是您的Route::get()規則的名稱,地址爲"/login",可以在系統中的任何位置使用,而無需明確指定任何控制器或網址,以便您可以隨時更改任何您喜歡的內容,只要你與你的名字一致。

您設定的路線:

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

然後你可以使用它像:

$url = URL::route('profile'); 

得到控制而你仍然能夠改變路線的網址:

Route::get("user/login", ...); 

無需在項目中更改「名稱」的用途。

您可以在Laravel的官方文檔閱讀它:

http://laravel.com/docs/4.2/routing#named-routes

0

在2號,你USEA一個別名,很容易在代碼中調用德路線:

例如:

<a href=" {{ route('user.list') }} "> 
< span class="glyphicons glyphicons-link"></span> 
    <span class="sidebar-title">Link</span> 
</a>