Publié par Maxence le lun, 23/04/2012 - 09:32
Zend_Translate gère les pluriels, mais la documentation officielle donne peu de détails sur la manière de procéder avec l'adaptateur gettext. Pour vous faire gagner un peu de temps, voici ce que vous devez savoir pour une traduction Française.
Dans votre fichier .po, vous devez ajouter dans l'entête :
"Plural-Forms: nplurals=2; plural=n>1;\n"
Ensuite, sur les termes où vous avez besoin du pluriel, vous devez utiliser la syntaxe suivante :
Publié par Maxence le mer, 29/02/2012 - 09:01
Pour rediriger les requêtes qui pointent sur un fichier ou un répertoire qui n'existe pas vers /index.php, avec Nginx et Zend Framework on utilise traditionnellement :
if (!-e $request_filename){
rewrite ^.*$ /index.php break;
}
Mais ce n'est pas optimal car il est recommandé d'éviter if.
Publié par Maxence le mar, 28/02/2012 - 14:42
Zend_Test fournit une série de méthodes commençant par assertQuery qui permettent d'examiner le DOM de la réponse. La syntaxe des requêtes est identique à celle utilisée pour les sélecteurs CSS. Voici quelques exemples d'utilisation.
Publié par Maxence le dim, 13/03/2011 - 16:35
Lors d'un test unitaire, il peut arriver que la soumission d'un formulaire échoue. Cela peut être du au passage via POST d'une valeur qui n'est pas considérée comme valide par le formulaire. Pour identifier la source du problème, vous êtes obligé d'examiner la réponse HTML pour retrouver d'éventuels messages d'erreurs, ce qui n'est pas très pratique. Le mieux ce serait de retrouver l'objet form qu'on a passé à la vue. C'est possible en passant par le ViewRenderer :
<?php
$vr = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$view = $vr->view;
$form = $vr->form;
?>
Vous pouvez ensuite utiliser la méthode getMessages pour récupérer les messages d'erreur et les afficher sur la console :
<?php
$this->assertXXX(..., print_r($form->getMessages(), true));
?>
Publié par Maxence le mer, 29/12/2010 - 09:18
En ces temps de difficulté de la zone Euro, je vous propose un composant qui colle à l'actualité : un sélecteur de devise.
Le code est très similaire au sélecteur de pays que je vous avais proposé dans un précédent article. En fait, c'est Zend_Locale qui fait le plus gros du travail, c'est lui qui fournit la liste des devises.
Publié par Maxence le lun, 13/12/2010 - 10:18
Je viens de tomber sur quelque chose d'assez bizarre, à tel point que je me demande si je suis bien réveillé ce lundi matin. J'ai un vilain bogue que j'essaie d'éradiquer pour bien commencer ma semaine. Le problème concerne une case à cocher. C'est un des éléments de formulaire le plus mal foutu car il n'est soumis que lorsqu'il est coché. Pour pallier à ce problème, l'aide de vue formCheckbox ajoute un champ caché juste avant l'input de de type checkbox avec la valeur correspondant à la case décochée. Ce qui nous donne l'HTML suivant :
Publié par Maxence le mar, 23/11/2010 - 16:50
Attention si vous écrivez une ressource pour Zend_Application dérivée de Zend_Application_Resource_ResourceAbstract. Le nom de la ressource et le nom de fichier ne doivent pas suivre la notation CamelCase car sinon votre ressource ne sera pas trouvée sur une plateforme où les noms de fichiers sont sensibles à la casse. Vous rencontrerez une exception du type Zend_Application_Bootstrap_Exception avec le message Resource matching "..." not found.
Publié par Maxence le mar, 12/10/2010 - 18:29
Ah Zend_Form, qu'est ce que tu peux être compliqué ! Vous devez déjà avoir rencontré ce problème : ajouter du code HTML en plein milieu de votre formulaire.
Publié par Maxence le sam, 09/10/2010 - 10:32
Je n'aime pas mélanger le Français et l'Anglais dans mon code. Mes noms de variables, mes noms de table, mes noms de contrôleur et d'actions sont donc toujours systématiquement en anglais. Le problème avec cette approche, c'est que du coup mes URL sont également en anglais.
Publié par Maxence le jeu, 07/10/2010 - 15:26
Comme vous le savez sans doute, le Zend Framework utilise un fichier de configuration nommé application.ini pour stocker ses paramètres. Vous pouvez l'utiliser également pour vos paramètres personnalisés.
Pour cela vous pouvez créer des entrées supplémentaires dans le fichier .ini. Pour éviter une collision avec d'autres paramètres, il est conseillé d'utiliser un préfixe. Vous pouvez par exemple utiliser l'espace de nom de votre application.
Pages