L'optimisation du code PHP est une dimension importante pour évaluer si vous êtes un ingénieur PHP qualifié. Lorsque vous écrivez un programme, vous voulez toujours que votre programme consomme le moins de ressources, s'exécute plus rapidement et ait moins de code. La syntaxe unique de PHP mélange C, Java, Perl et la syntaxe innovante de PHP, qui peut exécuter des pages Web dynamiques plus rapidement que CGI ou Perl. PHP intègre des programmes dans des documents HTML pour exécution, et son efficacité d'exécution est bien supérieure à celle de CGI qui génère entièrement des balises HTML.
Le but de l'optimisation PHP est de dépenser le moins de coûts en échange de la vitesse d'exécution la plus rapide et du code le plus simple à maintenir.
Conseils d'optimisation du code PHP
1. L'écho est plus rapide que l'impression.
2. Utilisez plusieurs paramètres d'écho au lieu de la concaténation de chaînes.
3. Déterminez le nombre maximum de boucles avant d'exécuter la boucle for. Ne calculez pas la valeur maximale à chaque boucle. Il est préférable d'utiliser foreach à la place.
4. Pour les variables globales, elles doivent être désactivées () après utilisation.
5. Utilisez des guillemets simples au lieu de guillemets doubles pour délimiter la chaîne, ce qui sera plus rapide. Étant donné que PHP recherchera les variables dans une chaîne entourée de guillemets doubles, les guillemets simples ne le feront pas.
6. Les fonctions remplacent les expressions régulières pour accomplir la même fonction.
7. Lors de l'exécution de l'incrémentation ou de la décrémentation de la variable $i, $i++ sera plus lent que ++$i. Cette différence est spécifique à PHP et ne s'applique pas aux autres langages. ++$i est plus rapide car il ne nécessite que 3 instructions (opcodes), tandis que $i++ nécessite 4 instructions. La post-incrémentation crée en fait une variable temporaire qui est ensuite incrémentée. L'incrément du préfixe augmente directement sur la valeur d'origine.
8. Il est préférable d'utiliser la casse plutôt que d'utiliser plusieurs instructions if, else if.
9. Utilisez var_dump pour déboguer le code PHP. Si vous recherchez une technologie de débogage PHP, je dois dire que var_dump devrait être l'objectif que vous recherchez. Cette commande peut répondre à tous vos besoins en termes d'affichage d'informations PHP, et la plupart des cas de code de débogage sont liés à l'obtention de valeurs. en PHP.
10. Utilisez le chemin complet lors de l'inclusion de fichiers et la résolution du chemin du système d'exploitation prendra moins de temps.
11. C'est une mauvaise pratique de créer fréquemment des valeurs globales, mais parfois la situation réelle l'exige. C'est une bonne idée d'utiliser des valeurs globales pour les informations de table de base de données ou de connexion à la base de données, mais n'utilisez pas fréquemment de valeurs globales dans votre code PHP. Alternativement, une meilleure approche consiste à stocker vos variables globales dans un fichier config.php.
12. Si vous souhaitez connaître l'heure à laquelle le script commence à s'exécuter, il est préférable d'utiliser $_SERVER['REQUEST_TIME'] au lieu de time().
13. Ouvrez le module mod_deflate d'Apache.
14. Utiliser @ pour bloquer les messages d'erreur est très inefficace.
15. Essayez d'utiliser autant de fonctions intégrées PHP que possible.
16. L'incrémentation d'une variable locale non définie est 9 à 10 fois plus lente que l'incrémentation d'une variable locale prédéfinie.
17. Les méthodes des classes dérivées s'exécutent plus rapidement que les mêmes méthodes définies dans les classes de base.
18. Le simple fait de définir une variable locale sans l'appeler dans une fonction ralentira également la vitesse (au même titre que l'incrémentation d'une variable locale)
19. le temps est 2 à 10 fois plus lent que l’analyse d’une page HTML statique. Essayez d'utiliser plus de pages HTML statiques et moins de scripts.
20. Comme mentionné précédemment, 99 % du temps, la partie la plus importante de tout site Web PHP est la base de données. Par conséquent, vous devez être très familier avec la façon d’utiliser correctement SQL, d’apprendre les tables relationnelles et les technologies de bases de données plus avancées.
21. L'appel d'une fonction vide avec un paramètre prend le même temps que l'exécution de 7 à 8 opérations d'incrémentation de variable locale.
22. Lorsque vous utilisez une chaîne et que vous devez vérifier si sa longueur répond à certaines exigences, vous utiliserez naturellement la fonction strlen(). Cette fonction s'exécute assez rapidement car elle n'effectue aucun calcul et renvoie simplement la longueur de chaîne connue stockée dans la structure zval (la structure de données intégrée du C utilisée pour stocker les variables PHP).
23. Toutes les situations ne doivent pas nécessairement utiliser le développement orienté objet. Le développement orienté objet est souvent très coûteux, et chaque appel de méthode et d'objet consomme beaucoup de mémoire.
24. À moins que le script puisse être mis en cache, il sera recompilé à chaque appel. L'introduction d'un mécanisme de mise en cache PHP peut généralement améliorer les performances de 25 à 100 % pour éliminer la surcharge de compilation.
Remarques sur l'optimisation du code PHP
1. Le code court n'est pas égal au code rapide
Beaucoup de gens espèrent écrire le code de la manière la plus concise possible lors de l'écriture de programmes, mais plus le code est court, mieux c’est. Parfois, l’exécution prend plus de temps.
2. Lors de l'écriture d'un programme, vous devez accorder plus d'attention à l'évolutivité du programme au lieu de rechercher la vitesse.
3. Avant d'optimiser votre code, examinez d'abord les parties liées à la base de données, car le goulot d'étranglement de la plupart des applications est la base de données plutôt que le code.
4. La micro-optimisation ne vaut pas le gain
Qu'est-ce que la micro-optimisation ? Comme mentionné précédemment, remplacez la partie expression régulière du code par des fonctions de chaîne. Cela présente les inconvénients suivants :
(1) Cela prend beaucoup de temps
(2) Cela ne résoudra pas fondamentalement le problème de performances
(3) Cela risque très probablement de détruire le code précédent et de générer des erreurs inconnues
(4) L'effort dépasse la récompense
Je dois mentionner ici un malentendu Afin de rendre le programme plus optimisé, certaines personnes prennent en compte l'optimisation lors de l'analyse de la logique métier, afin de s'améliorer. résultats. Coder et modifier la logique métier. C’est une idée très stupide, car le but du programme est de résoudre des problèmes rencontrés dans la réalité, et on ne peut pas mettre la charrue avant les bœufs.