Maison titres Résumé des compétences en optimisation de code PHP

Résumé des compétences en optimisation de code PHP

Jun 04, 2018 pm 08:24 PM
php Résumer Compétence

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.


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1535
276
Tigne de performance de cartographie relationnelle d'objet (ORM) dans PHP Tigne de performance de cartographie relationnelle d'objet (ORM) dans PHP Jul 29, 2025 am 05:00 AM

Évitez N 1 Problèmes de requête, réduisez le nombre de requêtes de base de données en chargeant à l'avance des données associées; 2. Sélectionnez uniquement les champs requis pour éviter de charger des entités complètes pour enregistrer la mémoire et la bande passante; 3. Utilisez raisonnablement les stratégies de cache, telles que le cache secondaire de la doctrine ou les résultats de requête à haute fréquence de cache de Doctrine; 4. Optimisez le cycle de vie de l'entité et appelez régulièrement () pour libérer la mémoire pour empêcher le débordement de la mémoire; 5. Assurez-vous que l'indice de base de données existe et analysez les instructions SQL générées pour éviter les requêtes inefficaces; 6. Désactiver le suivi automatique des changements dans les scénarios où les modifications ne sont pas nécessaires et utilisez des tableaux ou des modes légers pour améliorer les performances. L'utilisation correcte de l'ORM nécessite de combiner la surveillance SQL, la mise en cache, le traitement par lots et l'optimisation appropriée pour garantir les performances de l'application tout en maintenant l'efficacité du développement.

VSCODE Settings.json Emplacement VSCODE Settings.json Emplacement Aug 01, 2025 am 06:12 AM

Le fichier SetfitS.JSON est situé dans le chemin de niveau utilisateur ou au niveau de l'espace de travail et est utilisé pour personnaliser les paramètres VScode. 1. Chemin de niveau utilisateur: Windows est C: \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, macOS est /users//library/applicationsupport/code/user/settings.json, Linux est /home//.config/code/user/settings.json; 2. Chemin au niveau de l'espace de travail: .vscode / Paramètres dans le répertoire racine du projet

La révolution sans serveur: déploiement des applications PHP évolutives avec BREF La révolution sans serveur: déploiement des applications PHP évolutives avec BREF Jul 28, 2025 am 04:39 AM

BREF permet aux développeurs PHP de créer des applications évolutives et rentables sans gérer les serveurs. 1.BREF apporte PHP à Awslambda en fournissant une couche d'exécution PHP optimisée, prend en charge PHP8.3 et d'autres versions, et s'intègre de manière transparente à des frameworks tels que Laravel et Symfony; 2. Les étapes de déploiement incluent: l'installation de BREF à l'aide de composer, configurer Serverless.yml pour définir des fonctions et des événements, tels que les points de terminaison HTTP et les commandes artisanales; 3. Exécutez la commande ServerlessDeploy pour terminer le déploiement, configurez automatiquement Apigeway et générez des URL d'accès; 4. Pour les restrictions de lambda, BREF fournit des solutions.

Construire des objets immuables en PHP avec des propriétés en lecture Construire des objets immuables en PHP avec des propriétés en lecture Jul 30, 2025 am 05:40 AM

ReadonlypropertiesInphp8.2CanlybeassignedonceinthestrustructoratDeclarationandcannotBemodifiedAfterward, applicationmutabilityaThelanguageLevel.2.Toachievedeep-immutability, webutableTypeSlikEarrayinArrayobjectorUSustomymutability, webutilletypeslikearraysinarrayobjectoruseseCustomMutabeColEctionSucha.

Une plongée profonde dans le mécanisme de collecte interne de PHP Une plongée profonde dans le mécanisme de collecte interne de PHP Jul 28, 2025 am 04:44 AM

Le mécanisme de collecte des ordures de PHP est basé sur le comptage de référence, mais les références circulaires doivent être traitées par un collecteur de déchets circulaires périodique; 1. Le nombre de références libère la mémoire immédiatement lorsqu'il n'y a pas de référence à la variable; 2. Référence La référence fait que la mémoire ne peut pas être automatiquement libérée, et cela dépend de GC pour le détecter et le nettoyer; 3. GC est déclenché lorsque la "racine possible" Zval atteint le seuil ou appelle manuellement gc_collect_cycles (); 4. Les applications PHP à long terme devraient surveiller GC_Status () et appeler GC_COLLECT_CYCLES () à temps pour éviter la fuite de mémoire; 5. Les meilleures pratiques incluent d'éviter les références circulaires, en utilisant gc_disable () pour optimiser les zones clés de performance et les objets de déréférence via la méthode Clear () d'Orm.

Passez l'exemple de l'exemple de journalisation du middleware http Passez l'exemple de l'exemple de journalisation du middleware http Aug 03, 2025 am 11:35 AM

HTTP Log Middleware dans GO peut enregistrer les méthodes de demande, les chemins de requête, la propriété intellectuelle du client et le temps qui prend du temps. 1. Utilisez http.handlerfunc pour envelopper le processeur, 2. Enregistrez l'heure de début et l'heure de fin avant et après l'appel Suivant.Servehttp, 3. Obtenez le vrai client IP via R.RemoteAddr et X-Forwared-For Headers, 4. Utilisez le log.printf aux journaux de demande de sortie, 5. L'exemple de code complet a été vérifié pour s'exécuter et convient au démarrage d'un projet petit et moyen. Les suggestions d'extension incluent la capture des codes d'état, la prise en charge des journaux JSON et le suivi des ID de demande.

Exemple de bascule du mode sombre CSS Exemple de bascule du mode sombre CSS Jul 30, 2025 am 05:28 AM

Tout d'abord, utilisez JavaScript pour obtenir les préférences du système utilisateur et les paramètres de thème stockés localement et initialiser le thème de la page; 1. La structure HTML contient un bouton pour déclencher la commutation du sujet; 2. CSS utilise: Root pour définir des variables de thème brillantes, la classe de mode. Dark définit les variables de thème sombres et applique ces variables via var (); 3. JavaScript détecte préfère-Color-Scheme et lit LocalStorage pour déterminer le thème initial; 4. Communiquez la classe en mode noir sur l'élément HTML lorsque vous cliquez sur le bouton et enregistre l'état actuel vers LocalStorage; 5. Tous les changements de couleur sont accompagnés d'une animation de transition de 0,3 seconde pour améliorer l'utilisateur

La visionneuse PDF Edge ne fonctionne pas La visionneuse PDF Edge ne fonctionne pas Aug 07, 2025 pm 04:36 PM

TestThepdfinanotherApptodetermineIftheissueiswiththefileoredge.2.EnBlEthebuilt-inpdfViewerByTurningOff "AlwaysOpenpdffilesexternal" et "DownloadPdffiles" inedgestoSolver.