То, что Вы хотите сделать, использовать Page. RegisterStartupScript (ключ, сценарий):
Посмотрите здесь для получения дополнительной информации: http://msdn.microsoft.com/en-us/library/aa478975.aspx
, Что Вы в основном делаете, создать Вашу строку JavaScript, передать ее тому методу и дать ей уникальный идентификатор (в случае, при попытке зарегистрировать ее дважды на странице.)
РЕДАКТИРОВАНИЕ: Это - то, что Вы называете триггер счастливым. Не стесняйтесь вниз он. :)
Естественно, вы можете продолжить переопределение при определении конкретных классов. Вы можете объявить, что они основаны на вашем классе, а не на классе ZF.
Для конкретных проектов вы можете изменить путь к классам, чтобы он был пользовательской версией ZF или, возможно, иметь пользовательскую папку переопределения. С пользовательской папкой ваши изменения не распространяются на всю машину, как и ваш фреймворк zend. в системах на базе *** nix вы можете использовать символические ссылки, чтобы сохранить одну копию ZF.
Вы пытаетесь изменить исходный код, включив в него заголовки лицензий и PHPdoc? Если да, то в прошлом я сделал простой этап сборки, который добавляет необходимую информацию. Каждый тип файла может иметь соответствующую информацию заголовка. У вас могут быть красивые теги, чтобы система игнорировала файлы или запускалась только на контроллерах.
Удачи, Джейкоб
По сути, Джейкоб имел в виду: то, что вы говорите, похоже на простое расширение класса. Здесь есть действительно простое введение в слайд-шоу по расширению Zend Framework:
http://www.slideshare.net/PHPBelgium/exnding-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.