URL::to 和 URL::route 在 laravel 中的区别
Difference between URL::to and URL::route in laravel
有什么区别
<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');
当我点击 'Register 1' 时出现以下错误
Route [/account/register] not defined.
但是当我点击 'Register 2' 时,它会转到
RegisterController@create
URL::route 将 URL 获取到命名路由。所以在你的情况下,如果你这样命名你的路线:
Route::get('/account/register', [
'name' => 'register',
'uses' => 'RegisterController@create'
]);
那么你就可以使用
<a href="{{ URL::route('register') }}" >Register 1</a>
在 blade 个模板中。
Url::route 仅在您已命名路由时使用。所以如果我调用我的路由 "my route" 那么我可以这样调用它:
URL::route('my route');
但是如果你想定向到一条只有目的地而没有命名的路线,那么你应该使用URL::to
首先创建命名路由
Route::get('register',function(){
return "register page";
})->name('register');
那你就可以使用
$url = route('register');
<a href="{{url($url)}}">Register</a>
有什么区别
<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');
当我点击 'Register 1' 时出现以下错误
Route [/account/register] not defined.
但是当我点击 'Register 2' 时,它会转到
RegisterController@create
URL::route 将 URL 获取到命名路由。所以在你的情况下,如果你这样命名你的路线:
Route::get('/account/register', [
'name' => 'register',
'uses' => 'RegisterController@create'
]);
那么你就可以使用
<a href="{{ URL::route('register') }}" >Register 1</a>
在 blade 个模板中。
Url::route 仅在您已命名路由时使用。所以如果我调用我的路由 "my route" 那么我可以这样调用它: URL::route('my route');
但是如果你想定向到一条只有目的地而没有命名的路线,那么你应该使用URL::to
首先创建命名路由
Route::get('register',function(){
return "register page";
})->name('register');
那你就可以使用
$url = route('register');
<a href="{{url($url)}}">Register</a>