Я пытаюсь понять, как именно автоматически загружать классы в PHP.Кажется, я продолжаю сталкиваться с необходимостью писать действительно длинные имена классов при создании новых объектов.Это немного раздражает в зависимости от структуры папок.
define('APPLICATION_PATH', realpath('.'));
function __autoload($class_name)
{
$path = APPLICATION_PATH . DIRECTORY_SEPARATOR . "lib" . DIRECTORY_SEPARATOR . $class_name . ".php";
if (file_exists($path))
require_once $path;
}
$customer = new AppName\Models\Customer();
echo $customer->GetName();
$cr = new AppName\Repository\CustomerRepository();
echo $cr->GetName();
Я знаю, что могу использовать оператор использования для его сокращения, но тогда мне придется написать несколько операторов использования.1005 * Есть ли лучший способ сделать это?Или, может быть, мне чего-то не хватает, чтобы было легче?