• 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…