6
Route::post('/update-client', 
    array(
        'uses' =>  'Client\API\ClientAPIController@Update', 
        'as'   =>  'apiUpdateClient',
    )
);

Route::post('/delete-client', 
    array(
        'uses' =>  'Client\API\ClientAPIController@Delete', 
        'as'   =>  'apiDeleteClient',
    )
);

しかし、これらのルートは現在 Laravel 8 では機能していません。以下はエラーの詳細です。

対象クラス [Client\API\ClientAPIController] が存在しません。

以下のように書いて修正すればうまくいきます

Route::post('/update-client', 
    array(
        'uses' =>  'App\Http\Controller\Client\API\ClientAPIController@Update', 
        'as'   =>  'apiUpdateClient',
    )
);

質問 -

ルート ファイルには多くのクライアント ルートが含まれています。そこで、各ルートに App\Http\Controller を追加する代わりに、以下のようにすることを考えました。

use App\Http\Controllers\Client\API\ClientAPIController;

Route::post('/update-client', 
    array(
        'uses' =>  [ClientAPIController::class, 'Update'], 
        'as'   =>  'apiUpdateClient',
    )
);

上記のコードでエラーが発生しました,,,

ReflectionFunction::__construct() は、パラメータ 1 が文字列で、配列が指定されていることを期待しています

uses パラメータに間違った構文を使用していませんか?

4

2 に答える 2