Forcer l'UTC dans Doctrine sans toucher aux entités

Un timestamp qui revient de la base de données avec une heure de décalage. Pas à chaque fois. Uniquement quand le serveur de dev tourne en Europe/Paris et que la CI tourne en UTC. Le genre de bug qui disparaît quand on le cherche et qui revient en production un vendredi soir. Le problème n’est pas dans la logique métier. Il est dans ce que Doctrine fait discrètement avec les dates. ...

19 février 2017 · 4 min · Guillaume Delré

PHP 7.1 : un système de types plus rigoureux et les petits gains autour

PHP 7.1 est sorti le 1er décembre. Pas de titre “2x plus rapide”, pas de réécriture du moteur. Il comble les lacunes que la 7.0 avait laissées dans le système de types, et ces lacunes étaient vraiment agaçantes. Les types nullables La 7.0 permettait de déclarer string $name comme type de paramètre. Ce qu’elle ne permettait pas, c’était de dire “ça peut aussi être null”. On devait soit abandonner le type hint complètement, soit bricoler autour. La 7.1 ajoute le préfixe ? : ...

15 janvier 2017 · 4 min · Guillaume Delré

PHP 7.0 : performances, types, et les fonctionnalités qui ont marqué

PHP 7.0 est sorti le 3 décembre. Un mois et demi plus tard, j’ai migré deux projets et les résultats sont difficiles à ignorer. Le chiffre phare : 2x plus rapide que PHP 5.6. Ce n’est pas un benchmark cherry-pick — c’est la médiane sur des applications réelles. Le Zend Engine a été réécrit pour utiliser une nouvelle représentation interne des valeurs, ce qui réduit significativement l’utilisation mémoire et diminue les allocations. Sur un projet, le temps de réponse moyen a chuté de 40% sans aucune modification du code. On met à jour, et ça va plus vite. ...

17 janvier 2016 · 6 min · Guillaume Delré