@echizon

Laravel 8+ Маршрутизатор не видит контроллер, хотя всё сделал как написано на laravel.com?

Создал проект
test (composer create-project laravel/laravel test)

Создал контроллер (php artisan make:controller HomeController), также добавил action
public function index(){
        return 'Hello world!';
    }

Добавил запись в web.php Route::get('/home', 'HomeController@index');
Иду на "site-name.com/home"
Illuminate\Contracts\Container\BindingResolutionException
Target class [HomeController] does not exist.

То есть маршрут не видит контроллер, подскажите в какую сторону мне копать?
Искал вопросы по типу route don't find controller laravel, видел что люди создавали контроллер сами и эти контроллеры laravel не видел, чтобы всё заработало они через php artisan создавали и всё работало. Я пытался и так и сяк не работает. Что интересно, у меня есть другой проект и в нём я могу создавать новые контроллеры и добавлять пути и всё работает. Использую openServer для обоих проектов.
  • Вопрос задан
  • 500 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Вы читаете очень старые учебники. Рекомендую сверяться с документацией.

Роуты теперь не нужно задавать строковой записью. Пишите примерно так:

use App\Http\Controllers\HomeController;

Route::get('/home', [HomeController::class, 'index']);


https://laravel.com/docs/8.x/routing#the-default-r...
https://laravel.com/docs/8.x/controllers#basic-con...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы