Nouveau Composant Workflow avec Symfony 3.2

symfony_logo

La gestion de l’évolution des statuts ou des états  dans un projet est souvent source de manipulation très complexe.

Aujourd’hui avec le composant Workflow  qui a été ajouté à Symfony 3.2, le développement  d’un tel système est plus souple, plus rapide et plus besoin d’ajouter un bundle tiers.

Nous vous présenterons une vue d’ensemble  de ce nouveau composant afin que vous puissiez avoir une idée de son  fonctionnement  avant la sortie officielle de Symfony 3.2 qui est actuellement en version Beta.

Trouver les fonctions obsolètes en PHP

update

Admettons que vous avez un client qui vous demande de mettre en conformité un vieux site en PHP 4.3 pour qu’il tourne sur une version plus récente de PHP, par exemple en PHP 5.6.

On pourrait bien entendu parcourir tous les fichiers sources pour traquer toutes les fonctions obsolètes ou en voie de l’être, mais cela risque d’être un poil fastidieux …

Alors on va automatiser cette recherche grâce à un plugin de PHP Code sniffer.  Cet utilitaire va nous permettre d’obtenir une jolie liste de tout ce que l’on aura à modifier.

PSR-7 et Symfony

logo_php

Début Mai 2015, la communauté PHP acceptait la norme PSR-7 appelée « HTTP message interfaces », nous donnant ainsi une façon commune de concevoir les messages HTTP.

Il s’agit d’une importante avancée vers une meilleure standardisation et interopérabilité en PHP, ceci plus particulièrement pour les middlewares (des bibliothèques qui s’intègrent entre une requête et une réponse HTTP). Dans le futur, un middleware qui sera écrit autour de ces nouvelles interfaces pourra être utilisé dans n’importe quel framework.

Résoudre vos problématiques de fuite mémoire avec Garbage Collector & yield

logo_php

Le Garbage Collector ou ramasse-miettes (Plus d’infos) a fait son apparition à partir de la version  PHP  5.3.0. Nous pouvons dire que c’est une solution pour les problématiques liées aux fuites mémoire que rencontre plusieurs développeurs PHP en matière de récupération du résultat d’une requête ou d’affectation de données volumineuses  dans un tableau PHP .

Ils sont souvent en face d’une erreur bien connue :  « Fatal error: Allowed memory size ». Mais alors que faire ? C’est ce que je vais vous expliquer dans cet article.

Les différences entre Joomla 2.5 et Joomla 3.4

joomla_logo
Joomla est une gestion de contenu (CMS) qui permet de créer et gérer un site dynamique. Il permet aussi à plusieurs individus de travailler sur un même document. Permet de séparer les opérations de gestion de la forme et du contenu. Et permet la structuration du contenu. Joomla est codé en PHP, le langage de programmation web le plus répandu du marché, et fonctionne en liaison avec une base de données SQL.

Tests unitaires utilisant une base de données : de nouvelles perspectives ?

L’utilisation d’une BD dans le cadre des tests unitaires est une chose qui est assez délicate, et ce pour plusieurs raisons. En effet, les tests utilisant les BD ont la réputation d’être lents, et il est difficile d’être sûr de rendre une BD dans le même état que lorsqu’on l’a prise, c’est à dire de trouver de bonnes manières de faire des opérations de setup et de teardown.

C’est pour cela qu’il est parfois pratique de partir d’une Golden Database, c’est à dire une base de données préparée pour les tests (par exemple, dans le cas de Magento, une base de données allégée, dans laquelle on a par exemple vidé les logs, les tables de cache, les commandes, et dans laquelle on laisse uniquement le minimum en terme de produits, clients,…).