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

Kir*_*edi 9 php laravel laravel-routing laravel-5

有什么区别

<a href=" {{ URL::route('/account/register') }}" >Register 1 </a>
Run Code Online (Sandbox Code Playgroud)

<a href=" {{ URL::to('/account/register') }}" >Register 2 </a>
Run Code Online (Sandbox Code Playgroud)

我将routes.php定义为

Route::get('/account/register','RegisterController@create');
Run Code Online (Sandbox Code Playgroud)

当我点击'Register 1'时出现以下错误

Route [/account/register] not defined.
Run Code Online (Sandbox Code Playgroud)

但是,当我点击"注册2"时,它会进入

RegisterController@create 
Run Code Online (Sandbox Code Playgroud)

Lim*_*nte 12

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

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

那么你就可以使用了

<a href="{{ URL::route('register') }}" >Register 1</a>
Run Code Online (Sandbox Code Playgroud)

在刀片模板中.


小智 9

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

但是,如果您想要指向仅具有目标且未命名的路由,则应使用URL :: to