Комментарии 43
Больше, больше информации по Symfony :) За статью спасибо.
Ого! суперспасибо. сейчас занимаюсь разработкой на симфони и ваш плагин мне пригодится) или свой напишу, благо пример теперь есть)
Самое интересное, что я не нашел официальной документации по написанию плагинов. Если есть таковая ткните пальцем пожалуйста.
В качестве начальной документации по написанию плагинов лучше всего читать Jobeet: www.symfony-project.org/jobeet/1_2/Doctrine/en/20
в symfony 1.2, чтобы постоянно не редактировать settings.yml при установке плагинов можно приказать symfony загружать все плагины, для этого в config/ProjectConfiguration.class.php добавляем строчку, например $this->enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin')); — включит все плагины кроме 'sfPropelPlugin' и 'sfCompat10Plugin'.
А можно с подсветкой кода? плиз!
радостно видеть, что про симфонию не забывают. Побольше бы статей.
Спасибо огромное, как раз нужно было сделать свою капчу, рекапчка слишком уж аццкая(:
Извините, но у меня небольшой вопрос: как это работает?
А именно:
1) Зачем нам нужен action? Ведь project/sfVirCaptcha мы в явном виде не собираемся открывать… или этот адрес открывается как-то виджетом (тогда второй вопрос отпадает)?
2) Собственно как работает виджет? Как он (и где!) использует наш класс для вывода капчи?
А именно:
1) Зачем нам нужен action? Ведь project/sfVirCaptcha мы в явном виде не собираемся открывать… или этот адрес открывается как-то виджетом (тогда второй вопрос отпадает)?
2) Собственно как работает виджет? Как он (и где!) использует наш класс для вывода капчи?
1. Простите, но только сейчас заметил, что хабрапарсер вырезал ссылку на тег «img» в виджете, где собственно и используется action.
2. Класс используется дважды, для выдачи в action'e и для проверки в валидаторе:
imagepng($sfVirCaptcha->get());
if (!sfVirCaptcha::Validate($value))
2. Класс используется дважды, для выдачи в action'e и для проверки в валидаторе:
imagepng($sfVirCaptcha->get());
if (!sfVirCaptcha::Validate($value))
Теперь всё встало на свои места, спасибо.
Но возникает другой вопрос: а оптимальным ли является Ваше решение? Неужели нельзя обойтись без action и непосредственно в виджете юзать imagepng($sfVirCaptcha->get());?
Но возникает другой вопрос: а оптимальным ли является Ваше решение? Неужели нельзя обойтись без action и непосредственно в виджете юзать imagepng($sfVirCaptcha->get());?
Возможно. Я хотел описать принцип создания плагина, и не претендую на оптимальность кода. Иначе, как бы я описал, каким образом создавать в плагине модули? =)
P.S. И что-то мне говорит, что предложенный вами способ не сработает, но аргументировать не могу =)
Интересно, почему вы не стали использовать уже готовый плагин для капчи: www.symfony-project.org/plugins/sfFormExtraPlugin?
Что в нем оказалось неработающим?
Что в нем оказалось неработающим?
Не самый удачный пример, взяли бы что нибудь попроще. Да и плагинов для капчи хватает. +1 поставил =)
Тем, что изначально при установке из PEAR'a были не верно расфасованы директории, и авто–загрузчик не смог подключить все классы самостоятельно.
Версия symfony — 1.2.5 DEV. В директорию «plugins» легла директория «form» от этого плагина, которая содержит виджет и валидатор, естественно, что symfony не увидела эти два файла.
Вы из PEAR'a ставили?
Вы из PEAR'a ставили?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Пишем плагины