Category Archives: En pratique

Qu’est-ce que REST ? (1/3)

REST (Representational State Transfer) est l’un de ces acronymes qui représente une non technologie comme peuvent l’être Ajax, DHTML, Web 2.0 et autres.

REST est un style d’architecture qui repose sur le protocole HTTP : On accède à une ressource (par son URI unique) pour procéder à diverses opérations (GET lecture / POST écriture / PUT modification / DELETE suppression), opérations supportées nativement par HTTP.

Dans cette série d’articles nous allons effectuer quelques rappels sur REST, écrire un client REST, puis écrire un serveur REST sans utiliser ni framework ni bibliothèque tierce, simplement en profitant des fonctionnalités natives du langage PHP.

Opérateur $and dans MongoDB avec Doctrine ODM

Voilà quelques temps que j’utilise MongoDB en PHP par l’intermédiaire de Doctrine ODM. Je passerais ici les multiples avantages de ces technologies pour me concentrer sur une limitation de la version actuelle de MongoDB (1.8) : l’absence de l’opérateur $and et la façon de le contourner. Le problème est simple : Je dispose d’objets de [...]

Access to undeclared static property, PHP + APC

Un bref article qui pourra faire gagner quelques heures de recherches à ceux et celles qui rencontreraient un jour le problème. Exposé de la situation : Vous avez une application en parfait état de fonctionnement, jusqu’au jour ou vous installez APC (magnifique extension, indispensable il va sans dire). Résultat : D’un coup, un message d’erreur « Access [...]

PHPUnit – Tester les Erreurs, Warnings et Notices

Voici un billet très court afin de présenter la façon dont je teste les méthodes qui génèrent des erreurs, warnings et notices dans mes tests unitaires avec PHPUnit. La méthode classique est d’utiliser les options convertErrorsToExceptions, convertNoticesToExceptions et convertWarningsToExceptions qui convertissent les messages respectifs en exception que l’on peut intercepter, puis d’utiliser les annotations @expectedException [...]

Le Design Pattern Stratégie (Strategy) en PHP

Continuons notre tour d’horizon des Modèles de Conception avec cette fois l’étude de la Stratégie, modèle qui vise à permettre le choix d’un algorithme dédié à une tâche particulière au moment de l’exécution. Dans l’exemple, nous allons utiliser l’autoloader universel réalisé précédemment pour lui adjoindre la possibilité de détecter les espaces de nom. J’en profite [...]