Użycie komponentu Zend_Form_Element_Captcha do generowania obrazków z kodem nie jest takie proste jak przedstawiono w dokumentacji frameworka.

Okazuje się, że najpierw musimy stworzyć obiekt Zend_Captcha_Image, który następnie podajemy jako parametr konstruktora Zend_Form_Element_Captcha.

// tworzymy obiekt Zend_Captcha_Image
$captchaImage = new Zend_Captcha_Image('captchaImg');
$captchaImage->setFont('...') // pełna ścieżka do czcionki, jaka ma zostać użyta
             ->setImgDir('...') // pełna ścieżka do katalogu gdzie ma zostać wygenerowany obrazek
             ->setWordlen(5) // ilość znaków w kodzie captcha
             ->setWidth(100) // szerokość obrazka
             ->setHeight(60) // wysokość obrazka
             ->generate();

// tworzymy właściwy element formularza
$captcha = new Zend_Form_Element_Captcha('captcha', array(
    'captcha' => $captchaImage));
$captcha->setLabel('Przepisz kod z obrazka widoczny poniżej:');

W roli wyjaÅ›nienia: Zend_Captcha_Image generuje obrazek (PNG – stÄ…d wymagana jest włączona obsÅ‚uga rozszerzenia GD w PHP) i zapisuje w katalogu podanym w metodzie setImgDir(). DomyÅ›lnie jest to katalog ./images/captcha. Zend_Form_Element_Captcha natomiast wstawia do formularza elementy input oraz img ze Å›cieżkÄ… do tegoż obrazka.