| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.captcha.operation">
- <title>Opération Captcha</title>
- <para>
- Tous les adaptateurs <acronym>CAPTCHA</acronym> implémentent
- <classname>Zend_Captcha_Adapter</classname>, qui ressemble à ceci :
- </para>
- <programlisting language="php"><![CDATA[
- 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();
- }
- ]]></programlisting>
- <para>
- Le mutateur et l'accesseur "name" sont utilisés pour spécifier et récupérer
- l'identifiant du <acronym>CAPTCHA</acronym>. <methodname>getDecorator()</methodname> peut
- être utilisé pour spécifier un
- décorateur <classname>Zend_Form</classname> soit par son nom ou en retournant un objet
- décorateur. Les vraies clés sont utilisées sauf pour <methodname>generate()</methodname> et
- <methodname>render()</methodname>. <methodname>generate()</methodname> est utilisé pour
- créer l'élément <acronym>CAPTCHA</acronym>.
- Ce processus typiquement stockera l'élément en session ainsi il pourra être utilisé pour
- comparaison dans les requêtes suivantes. <methodname>render()</methodname> est utilisé
- pour effectuer le rendu de l'information que représente le <acronym>CAPTCHA</acronym> -
- en image, en texte Figlet, en problème logique, ou tout autre type de
- <acronym>CAPTCHA</acronym>.
- </para>
- <para>Un cas d'utilisation typique pourrait ressembler à ceci :</para>
- <programlisting language="php"><![CDATA[
- // 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!
- }
- ]]></programlisting>
- </sect1>
|