[Из песочницы] Кастомизация каптчи в Zend Framework 2
Компонент Zend\Captcha может принимать различные формы, в том числе задавать логические вопросы, генерировать искаженные шрифты, и передавать несколько изображений, установив между ними связь. Zend\Captcha имеет целью обеспечить разнообразие серверных решений, которые могут быть использованы либо в автономном режиме либо в сочетании с Zend\Form компонентой. Элемент Captcha имеет более одного поля, которые рендерятся друг за другом. Встроеный генератор изображений каптч (Zend\Captcha\Image.php) использует свой собственный хелпер (Zend\Form\View\Helper\Captcha\Image.php) для создания изображения. Так-же, в Zend\Captcha\Image.php находится метод 'getHelperName'. Этот метод передает имя хелпера для рендеринга изображения каптчи. По умолчанию 'getHelperName' передает 'captcha/image' — экземпляр класса Zend\Form\View\Helper\Captcha\Image.php. Если углубиться с помощью дебаггера, можно увидеть, что в свойстве экземпляра phpRenderer::__helpers, в invokablesClasses располагается хелпер 'captchaimage'. Это и есть Zend\Form\View\Helper\Captcha\Image.php, упомянутый ранее. Грубо говоря — вы просто создаете изображение, а всё остальное делает за вас рендерер используя хелпер, хотя такое положение вещей устраивает не всех.Читать дальше →