Laravel之间的区别路由方法
问题描述:
两者之间的区别是什么?谁能解释一下?Laravel之间的区别路由方法
Route :: get('login','webcontroller @ login'); ('''''登录','使用'=>'webcontroller @ login'));
答
好吧。 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的官方文档阅读它:
答
在2号,你USEA一个别名,很容易在代码中调用德路线:
例如:
<a href=" {{ route('user.list') }} ">
< span class="glyphicons glyphicons-link"></span>
<span class="sidebar-title">Link</span>
</a>
有人说将来会更改网址,但我们也可以更新网址,例如 Route :: get('login','webcontroller @ login'); => Route :: get('newname','webcontroller @ login'); – 2014-11-24 12:21:39
@OP:是的,你可以。但是,如果你在600个不同的视图中引用了路由URL,那就不那么容易了;)明白了吗? – thpl 2014-11-24 12:33:51