1) использовать composer
2) composer использует PSR
это типо что-то вроде этого:
vendor\Autoloader.php
<?php
/**
* PSR-4 Autoload without composer
*/
define('ROOT', __DIR__ . DIRECTORY_SEPARATOR);
define('SRC', str_replace("vendor\\","",ROOT) . DIRECTORY_SEPARATOR); // тут я удаляю из пути папку, в которой лежит данный автозагрузчик. В моём случае это папка "vendor"
spl_autoload_register(function ($class) {
$file = str_replace('//', '/', str_replace('\\', '/', SRC .$class)) . '.php';
if (file_exists($file)) {
require_once $file;
}
});
Структура проекта:
папка[root]->
папка[vendor]->Autoloader.php
папка[cars]->Car.php
index.php
и далее делаете как хотите:
idnex.php
namespace kakoeto;
require_once 'vendor/Autoloader.php'; // тут подключается автолоадер
use Autoloader;
use cars\Car as Car; // вот тут подключаете всё что хотите. Главное, чтобы название класса совпадало с названием php файла, а-ля Car.php
.....
?>
Вот тут почитайте