Вызываемый контроллер в пространстве имен, отличном от пространства имен по умолчанию (LARAVEL 8)- ошибка

#php #laravel #laravel-8

Вопрос:

У меня есть один контроллер действий, который находится в AppHttpControllersApiTestController; не пространство имен по умолчанию.

Я пытался вызвать этот метод, но он выдает мне эту ошибку:

«сообщение»: «Недопустимое действие маршрута: [ApiПриложениеHttpКонтроллерыApiTestController].», «исключение»: «Неожиданное исключение», «файл»: «/Users/macbook/Projects/laravel/digitalorganigrama_hr/vendor/laravel/framework/src/Illuminate/Routing/RouteAction.php»,

….

ApiПриложениеHttpКонтроллерыApiТестКонтроллер was not found: Controller class ApiПриложениеHttpКонтроллерыApi for one of your routes was not found. Did you mean Приложение ТестконтроллераHttpКонтроллерыApiТестКонтроллер`?

В route/api.php у меня есть:

Route::get('/test', ContractNormController::class) ;

TestController.php :

 <?php

namespace AppHttpControllersApi;

use AppHttpControllersController;

class TestController extends Controller
{
    public function __invoke()
    {
        return 'test';
    }
}
 

Как я могу это решить?

Комментарии:

1. Вот ваш ответ: laraveldaily.com/invokable-controllers-with-one-specific-action

2. Я знаю, как это сделать. Но я получаю ошибку, когда мой контроллер не находится в пространстве имен по умолчанию.

3. Я решил эту проблему. Проблема заключалась в том, что у меня был ненужный маршрут::группа([‘пространство имен’ => ‘Api’],…) в api.php. Пространство имен Api по умолчанию в api.php.