Debug facile avec XDEBUG

Intéressons nous au debugging d’applications. Tout développeur en fait continuellement dans ses projects. Souvent de la façon la plus basique qui soit:

1
echo $myVar; exit();

Mais lorsque l’on a besoin de suivre l’execution dans une pile de plusieurs fonctions et à l’intérieur de chacune d’elle visualiser plusieurs variables pour connaitre le contexte, la méthode ci-dessus ne suffit plus. C’est là qu’intervient XDEBUG.

Read More

YAML et in_array, mauvaise surprise

Je vais ici vous conter une petite mésaventure qui m’est arrivée sur une des applications de la société où je travaille. Nous avons un Yaml de configuration qui indique quels clients doivent passer par une action donnée. Le fichier a cette forme:

1
2
3
4
5
targetedCustomers:
- auchan
- leclerc
- geant
- cora

Ensuite, rien d’extraordinaire, on utilise in_array pour tester si le client courant est concerné par l’action proposée:

1
2
3
4
5
// Some stuff for parsing Yaml before
// $targetedCustomers is worth ['auchan', 'leclerc', 'geant', 'cora']
if (in_array($currentCustomer, $targetedCustomers)) {
// Execute the action
}

Jusque là tout va bien. Mais récemment nous avons ajouté le client “yes”. Drôle de nom pour un client vous allez me dire. Il n’empêche.

1
2
3
4
5
6
targetedCustomers:
- auchan
- leclerc
- geant
- cora
- yes

Et tout d’un coup TOUS nos clients se sont mis à être elligibles pour l’action précédemment évoquée. Pas glop. Comment en est-on arrivé à ce résultat ?

Read More