Php 我们在laravel路由文件中给出url和名称的基础是什么

Php 我们在laravel路由文件中给出url和名称的基础是什么,php,laravel,Php,Laravel,你们可能会觉得我很愚蠢,但我无法理解我们在路由文件中给出的url和名称的基础是什么 例如: Route::get('/order/getOrders', 'OrderController@getOrders')- >name('order.getOrders')->middleware('auth'); 谁能告诉我吗。 如果我们在查看文件夹(order->getorder blade file)中获取文件位置的基本url 那么如果我的路径是layouts.site.topba

你们可能会觉得我很愚蠢,但我无法理解我们在路由文件中给出的url和名称的基础是什么

例如:

 Route::get('/order/getOrders', 'OrderController@getOrders')- 
 >name('order.getOrders')->middleware('auth');
谁能告诉我吗。 如果我们在查看文件夹(order->getorder blade file)中获取文件位置的基本url

那么如果我的路径是layouts.site.topbar呢

在视图中而不是页面中,我的文件位于布局中

编辑:

刃锉

          <a  href="{{ route('sync.index') }}">

                    @if(isset($syncs))
                      @foreach ($syncs as $sync)
                      @endforeach
                      {{ $sync->session_date }}

                    @endif
            </a>
}

网络文件

Route::post('/sync_finish_session', 'TopbarController@sync_finish_session')->name('sync_finish_session')->middleware('auth');
路由::获取('/sync/index','TopbarController@index')->name('sync.index')->中间件('auth')


现在有什么问题吗?它没有给任何东西,即使我放了骰子,但它没有进入控制器文件。

我认为这更多的是个人偏好,而不是有规则

我使用的约定是
name(.)

这样我就可以创建如下路由

Route::get('/users/{id}/view', 'UserController@view')->name('users.specific.view')->middleware('auth');

您只需根据需要命名路线。如何命名路由并没有严格的规则。您可以将名称('order.getOrders')更改为名称(“anyName”),并在模板中使用新名称。

正如about rounting所说:

命名路由允许为特定路由方便地生成URL或重定向

因此,您可以使用此
名称
生成URL或重定向。例如:

您可以将其放入
web.php
文件中:

路由::get('/image/index',API\SettingsController@index')->name('image.index')

在你看来,这样称呼这条路线:

其中
{{route('image.index')}
引用了您给它指定的名称。

您可以根据需要为您的路由命名。如果您愿意,您可以将上述路线称为“mySuperCoolRouteName”:

稍后在视图文件中,您可以使用此名称作为“速记”,以获取/打印该路由的URL:

将提交给


实际上
名称('order.getOrders')
不是可以放置视图路径的地方。这是一种路由变量,你可以使用内部视图、js、html表单等。我不确定我是否理解你的问题,但你可以根据需要命名你的路由。如果您愿意,您可以调用上述路线
kerbholz
->name('kerbholz')
),稍后在视图文件中您可以使用此名称作为“速记”:
{route('kerbholz')}
将打印
/order/getOrders
。好的,我明白了,现在我的问题是,让我向您展示我的代码,我在您的评论的帮助下制作了什么。我将编辑我的代码。@kerbholz请回答我的问题。好的@kerbholz,我按照您说的做了,但问题是我的视图文件不在控制器文件中。我尽了我所知的一切努力。当我编辑我的问题时,您可以看到上面的代码。查看运行
php artisan route:cache
清除和缓存路由文件是否有帮助。您还可以使用
php artisan route:list
列出所有路由,以确保路由存在。此外。。。你的
@foreach
不会显示任何内容,移动
{{{$sync->session_date}}
到你的
@foreach
是的@kerbholz它的索引和第二个索引都在列表中,我也清除了缓存,但结果相同,
index()
函数在你的
TopbarController
中?(只是确定一下,您在最初的问题中使用了不同的控制器)。您在服务器上的
/sync/index
?查看您的Laravel日志
/storage/logs/Laravel.log
,查看是否存在任何错误/警告
Route::get('/users/{id}/view', 'UserController@view')->name('users.specific.view')->middleware('auth');
Route::get('/order/getOrders', 'OrderController@getOrders')- 
 >name('mySuperCoolRouteName')->middleware('auth');