в symfony 1.2, чтобы постоянно не редактировать settings.yml при установке плагинов можно приказать symfony загружать все плагины, для этого в config/ProjectConfiguration.class.php добавляем строчку, например $this->enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin')); — включит все плагины кроме 'sfPropelPlugin' и 'sfCompat10Plugin'.
Извините, но у меня небольшой вопрос: как это работает?
А именно:
1) Зачем нам нужен action? Ведь project/sfVirCaptcha мы в явном виде не собираемся открывать… или этот адрес открывается как-то виджетом (тогда второй вопрос отпадает)?
2) Собственно как работает виджет? Как он (и где!) использует наш класс для вывода капчи?
Теперь всё встало на свои места, спасибо.
Но возникает другой вопрос: а оптимальным ли является Ваше решение? Неужели нельзя обойтись без action и непосредственно в виджете юзать imagepng($sfVirCaptcha->get());?
Возможно. Я хотел описать принцип создания плагина, и не претендую на оптимальность кода. Иначе, как бы я описал, каким образом создавать в плагине модули? =)
Версия symfony — 1.2.5 DEV. В директорию «plugins» легла директория «form» от этого плагина, которая содержит виджет и валидатор, естественно, что symfony не увидела эти два файла.
Пишем плагины