Php route::view定义的简单路由出现错误;“未定义路线”;,当使用Route::name定义时,它工作得很好

Php route::view定义的简单路由出现错误;“未定义路线”;,当使用Route::name定义时,它工作得很好,php,laravel,laravel-5,routing,Php,Laravel,Laravel 5,Routing,这个案例非常简单,但我没有找到任何参考: 我有一个刀片\front\about 我在layout.blade.php中有一行代码: 当我在web.routes中将路由定义为 Route::view('/about',front.about') 它在以下情况下失败: Route [about] not defined. (View: ....\resources\views\front\layout.blade.php) 当我通过定义路线时,一切正常 Route::name('about')

这个案例非常简单,但我没有找到任何参考:

  • 我有一个刀片
    \front\about
  • 我在
    layout.blade.php
    中有一行代码:
  • 当我在web.routes中将路由定义为

    Route::view('/about',front.about')

    它在以下情况下失败:

    Route [about] not defined. (View: ....\resources\views\front\layout.blade.php) 
    
    当我通过定义路线时,一切正常

    Route::name('about')->get('about',function(){return View::make('front.about');})

    除此之外,它(显然)在
    $php artisan route:cache上失败,因为它被关闭了

    无法为序列化准备路由[about]。使用闭包。


    请帮助解决此问题。

    您必须为路线命名:

    Route::view('/about', 'front.about')->name('about');
    

    您必须为路线指定一个名称:

    Route::view('/about', 'front.about')->name('about');
    

    阿列克西。请注意,
    route()
    方法需要
    router name
    作为参数,但实际上您没有在
    web.router
    中定义路由器名称。您做到了:
    Route::view('/about',front.about')没有路由器名称

    所以它应该是这样的:

    Route::view('/about', 'front.about')->name('about');
    
    或者使用需要slug作为参数的
    url()
    方法

    a href="{{url('about')}}">About Us</a>
    
    a href=“{{url('about')}}”>关于我们
    
    Alexey。请注意,
    route()
    方法需要
    router name
    作为参数,但实际上您没有在
    web.router
    中定义路由器名称。您做到了:
    Route::view('/about',front.about')没有路由器名称

    所以它应该是这样的:

    Route::view('/about', 'front.about')->name('about');
    
    或者使用需要slug作为参数的
    url()
    方法

    a href="{{url('about')}}">About Us</a>
    
    a href=“{{url('about')}}”>关于我们
    
    谢谢。不知怎么的,我错过了。谢谢。不知怎的,我错过了。