Я не хочу добавлять больше к шуму "автозагрузка не работает !!!!!", но я не могу понять эту проблему, и я подумал, что если взглянуть на нее по-новому, то получупроблема гораздо меньше времени.Вот мой файл index.php:
<?php
declare(strict_types=1);
require_once 'vendor/autoload.php';
require_once 'model/PageNav.php';
use ShinePHP\{Crud, CrudException, EasyHttp, EasyHttpException, HandleData, HandleDataException};
// ALWAYS serve over encrypted channels
try {
EasyHttp::checkHttps();
} catch (EasyHttpException $ex) {
echo $ex;
}
try {
// check if it's a GET request, if it is, serve page, if not, do nothing
if (EasyHttp::isRequestMethod('GET')) {
$Page = new PageNav('Home', 'view/home.php');
$Page->buildPage();
exit;
}
}
catch (EasyHttpException $ex) {
echo $ex;
}
Итак, очевидно, я использую пакет от композитора под названием ShinePHP (его я сделал, и я все еще работаю над документацией, поэтомуСейчас я просто использую его для своих собственных проектов, композитор делает управление пакетами настолько простым!)
ВСЕГДА ... потому что я пишу этот вопрос, я, очевидно, получаю следующую ошибку:
Fatal error: Uncaught Error: Class 'ShinePHP\EasyHttp' not found in /Applications/XAMPP/xamppfiles/htdocs/KRTY/src/index.php:11 Stack trace: #0 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/KRTY/src/index.php on line 11
Теперь я не трогал файл composer.json вручную, поэтому вот он:
{
"require": {
"adammcgurk/shine-php": "~0.0.1"
},
"autoload": {
"psr-4": {
"ShinePHP\\": "src/"
}
}
}
Я не получаю никаких ошибок при запросеФайл vendor/autoload.php
(и я попытался изменить путь на что-то, чего не существует, например vendor/alkdjfladksf/autoload.php
, и он выдает ошибку, как и должно), я использую PHP-версию 7.2.7 на XAMPP в Mac OS Mojave.Вот структура каталогов, выделенный файл index.php - это файл с кодом выше:
![enter image description here](https://i.stack.imgur.com/08q8Q.png)
А вот вывод composer dump-autoload -o
:
Generating optimized autoload files
И так ... чтобы добавить больше к огню этого вопроса в стеке ... Как мне заставить composer автоматически загружать мое пространство имен ShinePHP с классами, как показано в коде?