Я пытаюсь загрузить свои собственные классы для модели на Slim 3 (используя скелет), поэтому я сделал следующее:
В app / composer.json:
"autoload": {
"psr-4": {
"App\\Classes\\": "/src/classes"
}
},
В routes.php у меня есть такая настройка:
<?php
use Slim\Http\Request;
use Slim\Http\Response;
use Slim\Container;
// Routes
$app->get('/sugiere', function (Request $request, Response $response, array $args) {
// Sample log message
$this->logger->info("Slim-Skeleton '/' route");
$cat_mapper = new \App\Classes\CategoryMapper($this->db);
$comuna_mapper = new \App\Classes\ComunaMapper($this->db);
$lang_mapper = new \App\Classes\LanguageMapper($this->db);
$netw_mapper = new \App\Classes\NetworkMapper($this->db);
$com_list = $com_mapper->getComunaList();
$cat_list = $cat_mapper->getCategoryList();
$lang_list = $lang_mapper->getLangList();
$netw_list = $netw_mapper->getNetworkList();
Кстати, я добавил ко всем классам сверху пространство имен App \ Classes.
Не удалось запустить приложение из-за следующей ошибки: Подробности Тип: Сообщение об ошибке: Класс «App \ Classes \ CategoryMapper» не найден Файл: /home/ubuntu/workspace/santiago/src/routes.php Строка: 13
Вы запускали composer dump-autoload после добавления конфигурации autoload в composer.json? См. getcomposer.org/doc/01-basic-usage.md#autoloading






Ваш путь к /src/classes выглядит неверным. Маловероятно, что ваш каталог src находится в корне файловой системы.
Измените свой файл composer.json на
"autoload": {
"psr-4": {
"App\\Classes\\": "src/classes/"
}
}
и беги
composer dump-autoload
для повторного создания файла autoload.php.
См. https://getcomposer.org/doc/01-basic-usage.md#autoloading
Я изменил его, но получаю ту же ошибку. Я получаю ошибку 500.
@ffuentes точно изменил его на какие? Обновите свой вопрос, указав конфигурацию и код, которые вы используете в настоящее время.
@ffuentes Не могли бы вы также показать снимок экрана с содержимым вашего каталога src/classes, а также определение пространства имен и класса в одном из ваших файлов, например src/classes/CategoryMapper.php
Теперь я понимаю. Я изменил маршрут и написал инструкцию использования выше и при вызове метода.
Что такое точно сообщение об ошибке?