laravel中URL :: to和URL :: route之间的区别

时间:2015-03-16 21:31:30

标签: php laravel laravel-5 laravel-routing

之间有什么区别
<a href=" {{ URL::route('/account/register') }}" >Register 1 </a>

<a href=" {{ URL::to('/account/register') }}" >Register 2 </a>

我将routes.php定义为

Route::get('/account/register','RegisterController@create');

当我点击“注册1”时,我收到以下错误

Route [/account/register] not defined.

但是当我点击“注册2”时,它会转到

RegisterController@create 

2 个答案:

答案 0 :(得分:10)

URL::route获取指向路由的URL。所以在你的情况下,如果你这样命名你的路线:

Route::get('/account/register', [
    'name' => 'register', 
    'uses' => 'RegisterController@create'
]);

然后你就可以使用

<a href="{{ URL::route('register') }}" >Register 1</a>

在刀片模板中。

答案 1 :(得分:8)

仅当您具有命名路由时才使用Url :: route。因此,如果我将我的路线称为“我的路线”,那么我可以这样称呼它: URL :: route('my route');

但是如果你想指向一个只有一个目的地并且没有命名的路线,你应该使用URL :: to