Пользовательский каталог Zend AutoLoad? - PullRequest
1 голос
/ 17 марта 2012

Я думал, что автозагрузка встроена в Zend, поэтому если вы попытаетесь создать экземпляр класса, он будет использовать имя класса, чтобы попытаться найти, где находится файл класса.

Я хочу иметь возможность загружать каталог DTO в корневой каталог моего приложения с помощью автозагрузчика. Я думал, что мог бы сделать что-то вроде этого Application_DTO_MyClass для файла /application/dtos/myClass.php

Я пытался найти его в Google, но не нашел ничего полезного. Какие-нибудь советы о том, как это сделать?

1 Ответ

1 голос
/ 17 марта 2012

Здесь есть несколько вариантов, в зависимости от того, хотите ли вы создавать модели в подкаталоге Application / Models или создавать их в своем собственном «пространстве имен» в качестве подкаталога библиотеки.Я предполагаю, что вы используете рекомендованную структуру каталогов для Zend Framework .

Для создания моделей в подкаталоге Application / Models сначала создайте свой каталог;в вашем случае Application / Models / Dto будет моей рекомендацией.

В этом каталоге создайте Myclass.php, который будет содержать: -

class Application_Model_Dto_Myclass
{
    public function __construct()
    {
        //class stuff
    }
}

, который вы могли бы создать таким образом: -

$myObject = new Application_Model_Dto_Myclass();

Если вы хотите создать свои классыв вашем собственном «пространстве имен» в качестве подкаталога библиотеки, затем сначала создайте каталог библиотеки / Dto и снова создайте файл Myclass.php, который будет выглядеть следующим образом: -

class Dto_Myclass
{
    public function __construct()
    {
        //class stuff
    }
}

Вам необходимо зарегистрироватьсяэто «пространство имен»;Я бы порекомендовал сделать это в вашем application.ini, добавив строку:

autoloadernamespaces[] = "Dto_"

Вы бы создали этот класс следующим образом: -

$myObject = new Dto_Myclass();

Я не уверен, почему вы не смоглиЭто можно узнать через Google, но вы найдете все это и многое другое в Справочном руководстве для программистов Zend Framework 1023 *.Я также считаю, что код ZF является отличным ресурсом для выяснения того, как все это работает.

...