Laravel 5.6中的url()vs route()

Bab*_*med 3 laravel

在我的例子中,Laravel 5.6中url()和route()之间的区别是什么,下面给出了两个URI:

<a href=" {{ route('/article/create') }}" >Create post 1 </a>
Run Code Online (Sandbox Code Playgroud)

<a href=" {{ url('/article/create') }}" >Create post 2 </a>
Run Code Online (Sandbox Code Playgroud)

我在web.php中定义它们如下:

Route::post('/article/create','ArticleController@create');
Run Code Online (Sandbox Code Playgroud)

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

Route [/article/create] not defined. 
Run Code Online (Sandbox Code Playgroud)

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

Kul*_*hra 14

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

Route::post('/student/create', 'ArticleController@create')->name('student.create');
Run Code Online (Sandbox Code Playgroud)


Sah*_*pta 5

用名称定义路线

Route::post('/article/create','ArticleController@create')->name('article.create');
Run Code Online (Sandbox Code Playgroud)

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

url('/article/create');
Run Code Online (Sandbox Code Playgroud)

并且route()将使用的路线名称

route('article.create');
Run Code Online (Sandbox Code Playgroud)