Laravel 5.6中的url()vs route()

时间:2018-05-23 11:18:12

标签: laravel

就我而言,Laravel 5.6中url()和route()之间有什么区别,下面给出了两个URI:

<a href=" {{ route('/article/create') }}" >Create post 1 </a>

<a href=" {{ url('/article/create') }}" >Create post 2 </a>

我在web.php中定义了它们,如下所示:

Route::post('/article/create','ArticleController@create');

当我点击“创建帖子1”时,我收到以下错误:

Route [/article/create] not defined. 

我不熟悉Laravel(只是基本的)所以如果问题有点明显,我很抱歉。

3 个答案:

答案 0 :(得分:8)

假设您使用相同的网址10位置。一段时间后,你想要更改你的网址,然后你必须在10个地方更改你的网址,但如果你正在使用路由,那么你可以在一个地方修改你的网址只是路由文件:

Route::post('/student/create','ArticleController@create')->name('student.create');

Now, url() will use path of route;

url('/student/create');
and route() will use name of route


route('student.create');

答案 1 :(得分:4)

定义名称为

的路线
Route::post('/article/create','ArticleController@create')->name('article.create');

现在,url()将使用路径路径;

url('/article/create');

route()将使用路线名称

route('article.create');

答案 2 :(得分:-1)

所以首先我想在Laravel 5.6中写URL和Route之间的区别 在laravel中,网址是链接网站的不同页面,例如,

我想进入我网站上的创建页面,所以网址就是这个

<a href=" {{ url('/article/create') }}" >Create post 2 </a>

第二个是Route,因此在laravel Route中接受Url,并检查Url是否正确并给出结果

Route::get('/article/create', 'createController@create');

,如果您想使用Url's over Route和Route over Url's 像这样

<a href=" {{ route('/article/create') }}" >Create post 1 </a> 

<a href=" {{ url('/article/create') }}" >Create post 2 </a>

您可以使用别名路由名称

Route::get('/article/create', 'createController@create')->name('create');