Route::post('/update-client',
array(
'uses' => 'ClientAPIClientAPIController@Update',
'as' => 'apiUpdateClient',
)
);
Route::post('/delete-client',
array(
'uses' => 'ClientAPIClientAPIController@Delete',
'as' => 'apiDeleteClient',
)
);
但是,这些路线现在在Laravel 8不起作用。以下是错误详细信息
目标类[Client\neneneba API \ClientAPIController]不存在。
如果我像下面这样写并修复,它就会工作
Route::post('/update-client',
array(
'uses' => 'AppHttpControllerClientAPIClientAPIController@Update',
'as' => 'apiUpdateClient',
)
);
问题-
我的路由文件包含许多客户端路由。因此,我没有在每个路由中添加App\Http\Controller,而是想如下所示,
use AppHttpControllersClientAPIClientAPIController;
Route::post('/update-client',
array(
'uses' => [ClientAPIController::class, 'Update'],
'as' => 'apiUpdateClient',
)
);
上面的代码给了我错误,,
ReflectionFunction::__construct((要求参数1为字符串,阵列给定
uses参数是否使用了错误的语法?
只需按照laravel文档中的说明删除">使用"即可。
use AppHttpControllersClientAPIClientAPIController;
Route::get('/users', [ClientAPIController::class, 'Update']);
请参阅本文档https://laravel.com/docs/8.x/upgrade
突然之间,他们改变了我们写laravel路线的方式
您可以使用新的方式:
Route::post(
'/update-client',
[ClientAPIController::class, 'update']
)->name('apiUpdateClient');
Route::post(
'/delete-client',
[ClientAPIController::class, 'delete']
)->name('apiDeleteClient');
更多信息:https://laravel.com/docs/8.x/routing#named-路由