Laravel 5.4 路由中的双箭头错误(语法错误,意外的 '=>' (T_DOUBLE_ARROW))

Laravel 5.4 double arrow error in routes (syntax error, unexpected '=>' (T_DOUBLE_ARROW))

我将这条路线用于 Laravel 5.1 和 Laravel 5.3,现在当我使用这种类型的路线顺序时,它给我标题错误希望你能帮助我,你可以找到这里的代码:

Route::prefix('productos')->group(function () {

    'as' => 'products.index', 
    'uses' => 'ProductController@index'

    Route::get('crear',[
        'as' => 'products.create', 
        'uses' => 'ProductController@create'
    ]);
    Route::post('guardar',[
        'as' => 'products.store', 
        'uses' => 'ProductController@store'
    ]);
    // Editar, borrar
    Route::get('{id}',[
        'as' => 'products.destroy', 
        'uses' => 'ProductController@destroy'
    ]);
    Route::get('{id}/editar',[
        'as' => 'products.edit', 
        'uses' => 'ProductController@edit'
    ]);
    Route::put('{id}',[
        'as' => 'products.update', 
        'uses' => 'ProductController@update'
    ]);
});

语法错误

   'as' => 'products.index', 
  'uses' => 'ProductController@index'

改成这样

 Route::get('products',[
       'as' => 'products.index', 
       'uses' => 'ProductController@index'
  ]);

要使用 =>,您需要处于 php 中关联数组的上下文中。在您的情况下,您在闭包中使用它:

Route::prefix('productos')->group(function () {

    // This section is incorrect
    'as' => 'products.index', 
    'uses' => 'ProductController@index'
    // Because is not inside an array

    Route::get('crear',[
        'as' => 'products.create', 
        'uses' => 'ProductController@create'
    ]);
...

如果我不得不猜测你在找什么,像这样:

而不是

'as' => 'products.index', 
'uses' => 'ProductController@index'

你应该有这样的东西:

Route::get('listar',[
   'as' => 'products.index', 
   'uses' => 'ProductController@index'
]);

所以终点将是 productos/listar

希望对您有所帮助。