Zend_Barcode
possède une méthode de fabrique pour créer une
instance d'un générateur de rendu qui étend
Zend_Barcode_Renderer_RendererAbstract
. Ce méthode accepte 5
arguments.
-
Le nom du format de code-barres (ex. "code39") (obligatoire)
-
Le nom du générateur de rendu (ex. "image") (obligatoire)
-
Les options de l'objet code-barres (un tableau ou un objet
Zend_Config
) (optionnel) -
Les options du générateur de rendu (un tableau ou un objet
Zend_Config
) (optionnel) -
Booléen indiquant si le générateur automatique d'erreur est activé. Si une exception intervient, l'objet code-barres fourni sera remplacé par un objet représentant l'erreur (optionnel par défaut vaut
TRUE
)
Exemple 59. Récupérer un générateur de rendu avec Zend_Barcode::factory()
Zend_Barcode::factory()
instancie un objet code-barres
et un générateur de rendu et les lie ensemble. Dans le premier exemple, nous allons
utiliser le type de code-barres Code39 avec le générateur
de rendu Image.
// Seul le texte à écrire est obligatoire $barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); // Pas d'options requises $rendererOptions = array(); $renderer = Zend_Barcode::factory( 'code39', 'image', $barcodeOptions, $rendererOptions );
Exemple 60. Utiliser Zend_Barcode::factory() avec des objets Zend_Config
Vous pouvez fournir un objet Zend_Config
à la fabrique afin
de créer les objets souhaités. L'exemple suivant est fonctionnellement équivalent
au précédent.
// En utilisant seulement un objet Zend_Config $config = new Zend_Config(array( 'barcode' => 'code39', 'barcodeParams' => array('text' => 'ZEND-FRAMEWORK'), 'renderer' => 'image', 'rendererParams' => array('imageType' => 'gif'), )); $renderer = Zend_Barcode::factory($config);
Quand vous dessiner un code-barres, vous récupérez la ressource
dans laquelle le code-barres est tracée. Pour ensuite tracer le code-barres, vous
pouvez appeler la méthode draw()
du générateur de rendu ou
simplement utiliser la méthode proxy fournie par Zend_Barcode
.
Exemple 61. Tracer un code-barres avec l'objet générateur de rendu
// Seul le texte à écrire est obligatoire $barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); // Pas d'options requises $rendererOptions = array(); // Tracé du code-barres dans une nouvelle image $imageResource = Zend_Barcode::factory( 'code39', 'image', $barcodeOptions, $rendererOptions )->draw();
Exemple 62. Trace un code-barres avec Zend_Barcode::draw()
// Seul le texte à écrire est obligatoire $barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); // Pas d'options requises $rendererOptions = array(); // Tracé du code-barres dans une nouvelle image $imageResource = Zend_Barcode::draw( 'code39', 'image', $barcodeOptions, $rendererOptions );
Quand vous générez un code-barres, vous dessinez le code-barres, vous envoyez les
entêtes et vous envoyez la ressource (par exemple vers un navigateur). Pour rendre un
code-barres, vous pouvez appeler la méthode render()
du
générateur de rendu ou simplement utiliser la méthode proxy fournie par
Zend_Barcode
.
Exemple 63. Effectuer le rendu d'un code-barres avec l'objet générateur de rendu
// Seul le texte à écrire est obligatoire $barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); // Pas d'options requises $rendererOptions = array(); // Tracé du code-barres dans une nouvelle image, // envoi des entêtes et de l'image Zend_Barcode::factory( 'code39', 'image', $barcodeOptions, $rendererOptions )->render();
Ceci générera ce code-barres :
Exemple 64. Effectuer le rendu d'un code-barres avec Zend_Barcode::render()
// Seul le texte à écrire est obligatoire $barcodeOptions = array('text' => 'ZEND-FRAMEWORK'); // Pas d'options requises $rendererOptions = array(); // Tracé du code-barres dans une nouvelle image, // envoi des entêtes et de l'image Zend_Barcode::render( 'code39', 'image', $barcodeOptions, $rendererOptions );
Ceci générera le même code-barres que l'exemple précédent.