Как настроить вывод Zend_Tool? - PullRequest
       19

Как настроить вывод Zend_Tool?

9 голосов
/ 10 августа 2009

Я хотел бы использовать Zend_Tool (ZF 1.9) с моим проектом, но я хотел бы иметь возможность настроить вывод новых файлов по умолчанию. Например, все контроллеры должны иметь специальный заголовок, предварительно добавленный к выводу с разметкой phpdoc и информацией о лицензировании, чтобы избежать необходимости добавлять это в качестве дополнительного шага.

Кроме того, для этого конкретного проекта (но не для всех других проектов) мне нужны контроллеры для расширения чего-то другого, кроме стандартного контроллера Zend, поскольку я расширил его для некоторых конкретных функций.

В документации упоминается возможность делать эти вещи, но это не очень понятно.

Из того, что я могу сказать, я могу настроить каталог ~ / .zf (в системах на основе *** nix) и включить туда пользовательских провайдеров. Однако это будет охватывать всю машину, а не ограничиваться одним проектом. Кроме того, хотя это добавит новых провайдеров, это (на первый взгляд) не позволяет мне настраивать функциональность существующих провайдеров.

Любая помощь здесь будет принята с благодарностью!

Ответы [ 2 ]

1 голос
/ 21 августа 2009

По сути, к чему пришел Иаков: то, о чем вы говорите, похоже на простое расширение класса Здесь очень простое введение в расширение Zend Framework для слайд-шоу:

http://www.slideshare.net/PHPBelgium/extending-zend-framework-presentation

Есть также много других ресурсов, доступных онлайн для расширения Zend Framework. Вы можете создавать отдельные исходные деревья для разных проектов, а функциональные возможности, общие для разных проектов, могут быть добавлены к абстрактным классам в общих папках. Нечто подобное встречается не часто, но я обнаружил, что оно работает в таких ситуациях:

class My_Component_HelloProvider extends My_Common_Component_HelloProvider
{
    public function say()
    {
        echo 'Hello from my provider!';
    }

    // public function do() is inherited

}

class My_Common_Component_HelloProvider
    implements Zend_Tool_Framework_Provider_Interface
{
    public function do()
    {
        // do something
    }
}

Дайте мне знать, если это отличается от того, что вы пытаетесь сделать, но нет никаких причин, по которым вы не можете создать несколько расширений приложения из одного экземпляра ZF.

0 голосов
/ 13 августа 2009

Естественно, вы можете продолжать переопределять, когда определяете определенные классы. Вы можете объявить, что они основаны на вашем классе, а не на классе ZF.

Для конкретных проектов вы можете изменить свой путь к классу, чтобы он был пользовательской версией ZF или, возможно, иметь собственную папку переопределения. В случае с пользовательской папкой ваши изменения не распространяются на всю машину, но и ваша Zend Framework. в системах на базе *** nix вы можете использовать символические ссылки, чтобы сохранить себя в одной копии ZF.

Вы пытаетесь изменить свой исходный код, включив заголовки лицензий и PHPdoc? Если так, то, что я сделал в прошлом, это простой шаг сборки, который добавляет необходимую информацию. Каждый тип файла может иметь соответствующую информацию заголовка. Вы можете иметь хорошие теги, чтобы система игнорировала файлы или работала только на контроллерах.

Удачи, Jacob

...