До композера, в PHP, я просто инклудил что нужно, куда нужно.
Но, для корректной работы, неймспейс в json и в указанной папке (php файлах в этой папке) должны совпадать.
В PHP, как я понял, мы просто собираем всё в кучу чтобы не "заморачиваться" с инклудами - у нас заинклужено всё, осталось для доступа прописать неймспейс, который часто един для всех файлов в одной папке...
В десктопных языках
"Junior\\App\\" : "classes"
use Junior\App\myclass;
"psr-4": {
"App\\": "app/",
"Database\\Helpers\\": "database/helpers/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
},
И странно, что в index.php нет неймспейса namespace Junior; (по логике должен же быть т.к. он корневой элемент нашего сайта)
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});
{
dataType: 'json', // По умолчанию - 'html'
// ...
}
а он все равно перечеркнутый и ниже класса btn бутсраповского((((((((((((
Если перед этим был вызван spl_autoload_register, то сначала будет выполнен переданный ему коллбек, а уже потом фатал еррор, если ничего не найдется.
Именно на основе этой функции работают все автозагрузчики в php