Doctrine propose une fonctionnalité très utile pour créer des propriétés objets sur vos entité, il s'agit des embeddable.
Les embeddables permette de créer des objets dont les propriétés seront stockés dans la même table que l'entité à laquelle ils appartiennent (une sorte de one-to-one dans la même...
Depuis quelque temps et avec l'arrivé de Flex, le découpage applicatif en bundle ne fait plus partie des bonnes pratiques Symfony. Si cela amène plus de simplicité dans le code, un des avantages des bundles était leur capacité à étendre la configuration du framework grâce au répertoire DependencyInj...
Il m'arrive souvent de devoir boucler sur les jours entre deux dates en PHP pour par exemple créer des tableaux, construire des graphiques ou des statistiques.
Voici une façon élégante de le faire en utilisant la classe \DatePeriod.
En choisissant un interval d'un jour, il est possible de boucler su...
La fonction explode est très connu en PHP. Elle permet de découper une chaine de caractère en fonction d'un séparateur.
explode('-', 'foo-bar-foobar'); // ['foo', 'bar', 'foobar']
La fonction preg_split est moins connu, elle permet de découper une chaine de caractère non plus en fonction d'un sépara...
Introduction
Les UUID sont de plus en plus utiliser pour identifier des resources dans une base de données. Ils sont généralement générer avec l'insertion de vos données. Néanmoins, ils y a des cas où générer l'UUID depuis MySQL peut être très utile. Je pense notamment à la migration de données ou à...
commit-tree
Si comme moi vous utilisez plusieurs identités différentes pour committer votre code sur vos repos git (par exemple votre nom et email professionnels pour le travail et un pseudo et votre email perso pour vos projets perso), il vous est surement déjà arrivé d'avoir des commits avec le ma...
Lorsque vous utilisez un système de fichier sensible avec PHPStorm, celui ci devrait vous montrer le message erreur suivant vous indiquant que le logiciel n'est pas configurer pour gérer la casse.
Filesystem Case-Sensitivity Mismatch
The project seems to be located on a case-sensitive file system.
...
Par défaut MacOS X masque tout les fichiers et dossier commençant par un point. Ces fichiers sont souvent des fichiers système auxquels il ne vaut mieux pas toucher, bonne chose qu'ils soient cachés. Mais le nom de fichier commençant par un point est également une convention pour beaucoup de fichier...
Si vous administrez un site web en production vous avez certainement été confronté a des vagues de crawl d'urls potentiellement compromettantes dans vos logs. Vous savez les :
/phpmyadmin
/wp
/wp-admin
/wordpress
...
alors que votre application n'utilise ni phpMyAdmin ni Wordpress. Ces visites so...
Les 12 et 13 mai se déroulait à Paris la nCrafts, une conférence indépendante et internationale sur le développement logiciel.
J'y était présent en tant que développeur et photographe. Le thème principal de l’événement était le software craftsmanship / “l’artisanat du logiciel” et l’accent était mi...
Apache Benchmark est un outils de benchmark HTTP permettant de mesurer la performance d'un serveur Web, en particulier le nombre de requête qu'il peut servir par seconde.
Installation
Sur Linux vous trouverez Apache Benchmark dans le paquet apache2-utils :
apt-get install apache2-utils
Sur Mac vous ...
Si vous utiliser un workflow git vous êtes probablement amené à avoir une multitude de branches. Voici une petite astuce pour faire le ménage dans vos branches git.
Cette commande supprimera toute les branches qui ont été mergé sur master :
git branch --merged | grep -v "\*" | grep -v master | xargs...
Le composant de traduction
Symfony dispose d'un composant de traduction permettant de définir les traductions de vos textes dans plusieurs langues. Ces traductions seront stockées dans des fichiers (yml, xlf ou autre, par exemple messages.fr.yml).
Les domaines de traductions
Le composant de traducti...
Le cas simple
Symfony permet, grâce aux ParamConverter, de convertir automatiquement un paramètre d'url en une autre valeur. Ce quelque chose que j'utilise beaucoup pour récupérer mes entité grâce au DoctrineParamConverter. Par défaut ce converter va associer le paramètre id d'une route avec l'entit...
BFG Repo-Cleaner est un outils écrit en Scala permettant de supprimer des fichiers ou textes d'un historique git comme le fait git-filter-branch mais beaucoup plus rapidement.
Installation
Télécharger la dernière version sur le site de BFG.
Exécutez BFG à l'aide de la commande suivante afin de verif...
Donne du style à ton JavaScript
Le code styling regroupe toute les conventions et les normes d'indentation et d'alignement du code source. Beaucoup de norme (PSR-0, PSR-1, PSR-2, Symfony, ...) et d'outils (phpcs, php-cs-fixer, ...) on vu le jour pour le language PHP. Mais le code styling, ou en tout...
How to Become a Better Node.js Developer in 2016
Voici un article sur comment devenir un meilleur développeur Node.js en 2016. Cet article regroupe des astuces, des conseils et des bonnes pratiques de développement sous Node.js. Il revient notamment sur de nouvelles fonctionnalités apportées par ES6...
ElasticSearch presentation at PHP North West 2015 in Manchester
Voici une présentation d'ElasticSearch par Thijs Feryn au PHP North West Conference 2015 qui s'est déroulé à Manchester les 2, 3 et 4 octobre 2015. Vous pouvez revoir cette presentation qui a été entièrement filmé durant laquelle Thijs ...
Quick Tip: Stop Writing Loops and Start Thinking with Maps
Face au besoin d'appliquer un traitement à un tableau, la plupart de développeur pense immédiatement à l'utilisation d'une boucle for ou foreach. Ce n'est pourtant pas la solution la plus approprié comme nous l'apprend l'article "Quick ...
Let’s Encrypt : joies… et déceptions !
Let's Encrypt se présente comme la solution pour que tout le monde puisse simplement passer à https. En effet pour passer votre serveur en https et optenir le précieux petit cadenas vert dans la barre d'url, vous deviez vous procurer un certificat SSL valide au...