2014-02-28 116 views
0

在我看来,我不想硬编码一个网址,只是因为我改变它...有没有一种方法来生成超链接的网址,说我'打算去使用这种控制器,因此这个动作......是这样的:Laravel,从视图中获取控制器/动作的URL

<a href = 'echo ActionLink("Logout", "Authentication");'>Logout</a> 

回答

1

我也刚刚发现这个...

<a href="<?php echo action('[email protected]'); ?>">Logout</a> 
+1

是的,它是一个辅助功能。取决于你想要的,你可以灵活地更新你的逻辑视图。但请使用刀片,它具有非常干净的语法来分离问题。 – carousel

+0

我的观点根本没有逻辑,而且会保持这种状态 – Jimmyt1988

2

你需要做的是要能够参考您莫名其妙的路线。有两种主要方法:命名它们并引用控制器操作(即[email protected])。

然而,最好的和最灵活的是为你的路线命名。这意味着如果你重构你的控制器(例如改变类名或命名空间),你必须改变更少的代码(只是路径指向的地方,而不是每个视图引用的位置)。

无论你做什么,你都可以使用各种助手来获得你想要的东西。以下都是等价的:

{{ link_to_route('route.name', 'Title) }} 
{{ HTML::linkRoute('route.name', 'Title') }} 
<a href="{{{ route('route.name') }}}">Title</a> 
<a href="{{{ URL::route('route.name') }}}">Title</a> 

同样,你可以使用“动作”到位“路线”的那些助手使用指定路线的[email protected]方式做等价版本。

相关问题