Laravel之间的区别路由方法

问题描述:

两者之间的区别是什么?谁能解释一下?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

好吧。 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

在2号,你USEA一个别名,很容易在代码中调用德路线:

例如:

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