class controller not found

Class ‘Controller’ not found in C:xampphtdocsmysiteprotectedcontrollersAppsinfoController.php on line 4

указывает на это:

Каковы могут быть причины?

Комментарии закончились пишу сюда: TAppsInfo.php

  • это все придется делать в каждом контроллере, совет сделать базовый контроллер

и его юзать везде.

//upd ок. Попробуй.

И почему у тебя первая буква там T в модели реально есть буква T или ты ее просто так сюда списала?

Тут вариант то какой. Возможно что модель названа TAppsInfo а файл не так, т.е. может appsInfo посмотри на то как модель названа и какой файл.

ОК поверим что там есть

Другие контролы с другими моделями нормально загружаются?

Я работаю с новая установка Lumen (создание веб-API), большинство вещей работает, но когда я пытаюсь использовать маршрутизатор, чтобы указать на класс, я получаю эту ошибку:

Это мое маршрутизатор в приложении / Http / rout.php

А это мой учебный класс в приложении / Http / Controllers / MomentController.php

Я активировал эти компоненты в самозагрузки / app.php:

Это мое composer.json файл:

Я думаю, что это как-то связано с пространством имен, но я не могу понять это. Есть какие-нибудь подсказки?

Решение

Увы, ни один из них надежно не работает. Я не могу взять кредит на решение, но если вы пришли сюда в поисках рабочего ответа, пожалуйста, проголосуйте за этот. Оригинальный пост Лукаса Гейтера здесь: не работает маршрутизация люмена

Я изменил пример foo / bar, потому что кому это действительно нравится?

Вы должны использовать полное имя класса:

ИЛИ ЖЕ обернуть все маршруты в группе (что на самом деле так и делается под капотом в Laravel 5)

Другие решения

Решение состоит в том, чтобы связать с нужным базовым контроллером, чтобы он мог расширять этот класс.

Эта строка — единственное, что мне нужно было добавить, чтобы она работала.

Таким образом, полный класс становится таким:

Я полагаю, что вы создали проект, используя lumen new вместо composer create-project laravel/lumen —prefer-dist , Вы можете попытаться создать новый проект lumen с помощью composer и попытаться воспроизвести эту проблему.

Удалить use AppHttpControllersController; поскольку в этом нет необходимости.

Затем проверьте, что в вашем composer.json включен psr-4 для app каталог.

Кроме того, попробуйте composer du в командной строке, чтобы сбросить и восстановить файл автозагрузки.

Для всех, кто оказался здесь с такой же проблемой. Я столкнулся с той же проблемой, когда заглушал свои маршруты в новой версии Lumen 5.2.

После нескольких часов поиска в Интернете выясняется, что контроллер маршрута, используемый Lumen, отличается от того, который использует Laravel. Lumen использует nikic fastroute.

Контроллер маршрута Lumen НЕ поддерживает префиксы группы маршрутов, даже если он указан в документации для Lumen. Я не знаю, была ли это проблема оригинального постера, поскольку полные детали маршрута не доступны, но, надеюсь, это сэкономит кому-то еще несколько часов.

Мне не удалось найти какую-либо ссылку, если эта функция должна быть включена / добавлена ​​вручную (если Lumen теперь поддерживает ее, как подсказывает документация). Может быть, кто-то может пролить свет на это?

или (лучше) сгруппировать их

и удалить use AppHttpControllersController; как сказал @lowerends

The main thing i want to solve is to check user session when somebody want to access admin panel. I’ve created MY_Controller class and placed it in library.

This is my login page. I’ve created a button that redirects to admin panel (dashboard) just to test if the session check works.

This is the admin controller where i check if the user session exists.

BUT i got this error.

Can you tell me your thoughts about my coding solution for the given problem please 🙂

3 Answers 3

  1. You need to extend the CI_Controller class instead of CI_Session
  2. You should place MY_Controller under application/core/ folder instead of application/library

Codeigniter introduced a new folder called core where the libraries that doesn’t require loading lives. The original CI_Controller class is one of them, so if you want the automagick pick up your MY_Controller.php file you should place it under application/core too.

When in doubt, check the extended class’s original version under system directory and mirror that under application .

(Also in your first code example, i think you meant to extend CI_Controller not CI_Session )

I got this error on a project as I’m learning CodeIgniter. My solution was to, to use your project as an example, require_once(‘MY_Controller’); at the top my new Controller.

That way I didn’t have to move my file to the core and I could keep it in my directory of Controllers.

Not the answer you’re looking for? Browse other questions tagged codeigniter codeigniter-2 or ask your own question.

Linked

Hot Network Questions

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2019 Stack Exchange Inc; user contributions licensed under cc by-sa 4.0 with attribution required. rev 2019.11.15.35459

Оцените статью