- Tip #1 - Savoir si une clé existe dans un tableau
Utiliser array_key_exists($bar, $foo) plutôt que isset($foo[$bar]) autant que possible. La fonction array_key_exists peut être jusqu’à deux fois plus rapide. De plus, si $bar égale NULL, mais que la clé existe quand même ($foo['bar'] = NULL;), isset() va retourner false, alors que array_key_exists() va retourner true. - Tip #2 - Connaître la longueur d’une chaîne
Utiliser !isset($foo{5}) plutôt que strlen($foo) < 5 ou strlen($foo) > 4. La fonction strlen() rajoute du overhead contrairement à isset. - Tip #3 - Incrémentation d’une variable
Utiliser ++$i au lieu de $i++. Cette petite “astuce” fonctionne seulement pour PHP (comparativement au C ou C++) parce que dans le code interne du moteur, la post-incrémentation se trouve à copier la variable avant de l’incrémenter alors que la pré-incrémentation augmente la valeur de 1 sans passer par une copie de la valeur. - Tip #4 - echo() ou print() ?
Utilisez echo(), car print() retourne toujours 1 inutilement ce qui ajoute du overhead pour rien. Pour plus d’informations, consultez cette page - Tip #5 - Quel type de guillemets ?
Si vous n’avez pas à analyser une chaîne de caractère, utilisez les guillemets simples (’) plutôt que les doubles (”). Ainsi : $foo = ‘bar’; sera plus rapide que $foo = “bar”; - Tip #6 - echo() aux multiples paramètres
La fonction echo() accepte plusieurs paramètres. Il est pratique de la savoir parce qu’il est avantageux de ne pas faire de concaténation de chaînes lors de l’affichage ; processus qui doit copier temporairement la valeur dans une variable pour pouvoir concaténer.echo ‘foo’,'bar’; sera plus rapide que (nottez la virgule (,) et non un point (.) qui signifie que l’on passe un 2e paramètre à echo() ) echo ‘foo’.'bar’;
Les paramètres peuvent aussi être des variables ou des fonctions. Exemples : echo $foo,’ ‘,count($bar); - Tip #7 - Codez intelligemment
Beaucoup de développeur que je qualifierais de quelque peu “lâches” se fient à la simplicité du language et donc, utilisent des variables ici et là sans savoir si elles ont été initialisées précédemment. Ce qui les amène parfois à faire une sur-utilisation de la fonction isset(). Bref, codez avec error_reporting() à E_ALL en développement ce qui permet de voir les notices et donc, de regarder si vous essayé d’accéder à des ressources non disponibles pour rien.
D’autres optimisations à venir…












Commentaires récents