Submitted by Maxence on Wed, 25/08/2010 - 09:29
__invoke est une nouvelle méthode magique introduite par PHP 5.3. En bref, elle permet d'appeler un objet comme si c'était une fonction. Cette fonctionnalité est utilisée dans plusieurs classes du ZF2 comme les filtres. Voici un petit exemple avec Zend\Filter\Boolean :
Submitted by Maxence on Tue, 24/08/2010 - 10:49
Envie de tester la prochaine version du framework ? Suivez ces différentes étapes pour mettre rapidement en place un premier projet sur Windows :
Submitted by Maxence on Fri, 04/06/2010 - 18:04
En C#, il y une fonctionnalité que j'apprécie particuliérement. C'est la possibilité de définir des propriétés :
class MyClass
{
protected string _myProperty;
public string MyProperty
{
get
{
return _myProperty.ToUpper();
}
set
{
_myProperty = value;
}
}
}
Submitted by Maxence on Sat, 09/01/2010 - 17:05
Une petite astuce pour tester un contrôleur qui génère du PDF. Pour s'assurer que c'est bien du PDF qui est envoyé, on peut utiliser Zend_Pdf qui est capable de charger un document existant :
<?php
$this->dispatch('/moncontrolleur/1/pdf');
$this->assertResponseCode(200);
$this->assertHeaderContains('Content-type', 'application/pdf');
$pdf = Zend_Pdf::parse($this->getResponse()->getBody());
$this->assertEquals('MonProgramme', $pdf->properties['Creator']);
?>
Si le PDF n'est pas correct, Zend_Pdf lancera une exception : Zend_Pdf_Exception: File is not a PDF. On peut également vérifier les propriétés du PDF et le nombre de pages. Par contre, on ne peut pas accéder au contenu du PDF pour vérifier le texte qu'il contient.
Submitted by Maxence on Fri, 04/12/2009 - 15:05
Je viens de tomber sur un méchant bogue dans mon application. Il est du à une subtilité dans les formats ISO proposés par Zend_Date.
Le problème se situe au niveau des années. Zend_Date propose deux formats différents : yyyy et YYYY. Le premier, celui avec les y en minuscules fournit le résultat auquel on peut s'attendre, alors que le deuxième renvoie l'année dans lequel se situe la semaine !
Submitted by Maxence on Wed, 21/10/2009 - 16:31
Vous avez une jolie application Web et vous souhaitez fournir une API ? Rien de plus simple avec Zend_Json_Server. Ce composant du Zend Framework permet de mettre en place une API utilisant le protocole JSON-RPC.
Submitted by Maxence on Tue, 13/10/2009 - 10:48
Ca fait un moment que je n'ai pas blogué, je vais me rattraper avec un petit tutoriel sur Zend_Navigation. Je vous propose de réaliser un menu à deux niveaux similaire à celui qu'on trouve par exemple sur le site de Libération, le javascript en moins.
Submitted by Maxence on Mon, 14/09/2009 - 13:49
Ce week-end je m'apprêtait à développer un système de plugin pour Zend_Db_Table quand j'ai eu la présence d'esprit de consulter la feuille de route du ZF (http://framework.zend.com/roadmap). Bien m'en a pris car ce composant est justement prévu pour la prochaine version du framework (1.10). Il a même failli être intégré à la 1.9.
Submitted by Maxence on Mon, 17/08/2009 - 11:11
Je ne sais pas pour vous, mais moi je ne trouve pas ça particulièrement élégant de toujours devoir passer par $this pour accéder à mes variables de vues.
Heureusement, dans le bestiaire des fonctions PHP, on dispose d'une fonction nommée extract qui crée des variables à partir d'un tableau. En la combinant à la méthode getVars de Zend_View qui permet d'obtenir l'ensemble des variables assignées à une vue, on peut exporter ces dernières sous la forme de variables locales.
Submitted by Maxence on Thu, 13/08/2009 - 18:42
La version 1.9.1 du Zend Framework est disponible depuis le 11 août. Cette version de maintenance corrige quelques bogues, dont notamment ceux qui affectaient le composant Zend_Acl. D'après Ralph Schindler, le problème des ressources qui n'étaient pas transmis en tant qu'objet aux classes d'assertion et dont je vous avait parlé précédemment dans mon article sur les assertions dynamiques sont à présent résolus. Une bonne nouvelle donc, puisque c'était vraiment un point bloquant pour tirer vraiment parti des fonctionnalités proposées par Zend_Acl.
Pages