Testez votre code avec atoum

Le monde des Frameworks de tests unitaires en PHP est un micro-système bien gardé ou seuls deux représentants cohabitaient jusqu’alors : SimpleTest et le standard PHPUnit

Aujourd’hui, il faut aussi Bientôt il faudra aussi compter avec atoum, un framework de tests unitaires qui tire pleinement partie des possibilités de PHP 5.3 tels les namespaces et les closures.

Ainsi, si vous lancez un nouveau projet basé sur PHP 5.3+, il me semble opportun que lors du choix de votre framework de tests unitaires vous ayez une bonne idée de ce qu’est atoum.

Continuer la lecture

Synchroniser son fork GITHub avec le projet original

Forker un projet github est une tâche tellement simple qu’elle est encouragée pour permettre à tous de contribuer.

Seulement, entre le moment ou vous proposez votre premier patch et le moment ou vous souhaitez proposer le second, vous aurez probablement besoin de resynchroniser votre fork avec le projet d’origine (pour inclure dans votre fork les évolutions du projet d’origine).

Continuer la lecture

Ecrire un client REST en PHP (2/3)

Suite à l’article dédié à la présentation des architectures RESTful nous allons maintenant voir comment consommer des services REST en PHP.

Appeler un service REST en PHP est une tâche extrêmement simple car nous disposons de tous les outils pour effectuer un appel HTTP, en particulier grâce aux flux.

Continuer la lecture

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.

Continuer la lecture

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 type Element qui sont associés à un ou plusieurs Tags.
Je souhaite pouvoir effectuer une requête simple : Trouver tous les documents associés aux tags (1 ou 2) ET (3 ou 4). En l’état, MongoDB ne le permet pas.

Continuer la lecture