Programmer's Reference Guide
| Introduction |
Opération Captcha
Tous les adaptateurs CAPTCHA implémentent Zend_Captcha_Adapter, qui ressemble à ceci :
interface Zend_Captcha_Adapter extends Zend_Validate_Interface
{
public function generate();
public function render(Zend_View $view, $element = null);
public function setName($name);
public function getName();
public function getDecorator();
// De plus, pour satisfaire Zend_Validate_Interface :
public function isValid($value);
public function getMessages();
public function getErrors();
}
Le mutateur et l'accesseur "name" sont utilisés pour spécifier et récupérer
l'identifiant du CAPTCHA. getDecorator() peut être utilisé pour spécifier un
décorateur Zend_Form soit par son nom ou en retournant un objet
décorateur. Les vraies clés sont utilisées sauf pour generate() et
render(). generate() est utilisé pour créer l'élément CAPTCHA.
Ce processus typiquement stockera l'élément en session ainsi il pourra être utilisé pour
comparaison dans les requêtes suivantes. render() est utilisé pour effectuer
le rendu de l'information que représente le CAPTCHA - en image, en texte Figlet, en
problème logique, etc.
Un cas d'utilisation typique pourrait ressembler à ceci :
// Créer une instance de Zend_View
$view = new Zend_View();
// Requête original :
$captcha = new Zend_Captcha_Figlet(array(
'name' => 'foo',
'wordLen' => 6,
'timeout' => 300,
));
$id = $captcha->generate();
echo $captcha->render($view);
// Lors de la requête suivante :
// suppose que $captcha a été paramètré avant,
// et que $value est la valeur soumise :
if ($captcha->isValid($_POST['foo'], $_POST)) {
// Validated!
}
| Introduction |
