Как я могу загрузить классы PHP без необходимости писать длинные имена классов во время создания объекта? - PullRequest
1 голос
/ 12 декабря 2011

Я пытаюсь понять, как именно автоматически загружать классы в 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 * Есть ли лучший способ сделать это?Или, может быть, мне чего-то не хватает, чтобы было легче?

1 Ответ

2 голосов
/ 12 декабря 2011

Нет, вы должны либо написать полное имя класса, либо написать операторы использования.

...