Maison développement back-end tutoriel php Partage de connaissances sur l'optimisation du code PHP

Partage de connaissances sur l'optimisation du code PHP

Mar 05, 2018 pm 02:00 PM
php 分享 知识

Cet article partage principalement avec vous quelques connaissances sur l'optimisation du code php. L'article résume plus de 40 points de connaissances sur l'optimisation du code. J'espère qu'il pourra aider tout le monde.

1. Ne vous contentez pas de copier des variables

BAD:
$description = $_POST['description'];
echo $description;
GOOD:
echo $_POST['description'];
Copier après la connexion

2. Utilisez des guillemets simples pour les chaînes
3. Utilisez switch/case au lieu de if/else
4 Activez le module mod_deflate d'Apache pour améliorer la vitesse de navigation des pages Web.
5. La connexion à la base de données doit être fermée une fois son utilisation terminée et n'utilisez pas de connexions longues.
Optimiser la génération PHP
1 Si une méthode peut être statique, déclarez-la comme statique, et la vitesse peut être augmentée de 1/4 ;
2. Echo est plus efficace que print, car echo n'en a pas. return value , print renvoie un entier;
3. Définissez le nombre maximum de boucles avant la boucle, pas pendant la boucle, il est préférable d'utiliser foreach à la place
4. unset(), null
5. Évitez d'utiliser des méthodes magiques comme __get, __set, __autoload, etc. ;
6.require_once(), include_once() consomment plus de ressources, require() a une efficacité d'exécution plus élevée ; *
7. Utilisez des chemins absolus dans les inclusions et les exigences, afin de passer moins de temps à analyser les chemins ;
8 Si vous avez besoin d'obtenir le temps entre sexinsex et l'exécution du script, $_SERVER['REQUSET_TIME'] est meilleur que. time( );
9. Si vous pouvez utiliser des fonctions de traitement de caractères, essayez de les utiliser, car l'efficacité est supérieure à celle des expressions régulières ;
10. Le remplacement de caractères str_replace est plus rapide que le remplacement régulier preg_replace, mais strtr vaut 1. /4 plus rapide que str_replace;
11. Si une fonction peut accepter à la fois des tableaux et des caractères simples comme paramètres, comme le remplacement de caractères, et que la liste des paramètres n'est pas trop longue, vous pouvez envisager d'utiliser des instructions de remplacement plus concises pour en remplacer un seul. caractère à la fois,
au lieu de Accepte les tableaux comme paramètres de recherche et de remplacement. Réduisez les grandes choses, 1+1>2;
12. Utiliser @ pour masquer les erreurs réduira la vitesse d'exécution du script ;
13.$row['id'] est 7 fois plus rapide que $row. [id], il est recommandé de le conserver. L'habitude d'ajouter des guillemets aux clés du tableau ;
14. Les messages d'erreur sont très utiles ;
15. N'utilisez pas de fonctions dans les boucles, telles que For($x=). 0; $x < count($array); $x ), la fonction count() calcule en premier à l'extérieur *
16. dans une méthode ;
17. La création d'une variable globale est plus rapide que les variables locales sont 2 fois plus lentes
18. La création d'une propriété d'objet (variable dans une classe) telle que ($this->prop++) est 3 ; fois plus lent que les variables locales ;
19. Créer une variable locale non déclarée est 9 à 10 fois plus lente qu'une variable locale initialisée ;
20. Déclarer une variable globale qui n'est utilisée par aucune fonction réduira également les performances (comme ainsi que déclarer le même nombre de variables locales), et PHP peut aller Vérifier si cette variable globale existe
21. La performance de la méthode n'a rien à voir avec le nombre de méthodes définies dans une classe, car j'en ai ajouté 10. ou plusieurs méthodes à la classe testée (ces méthodes sont avant et après la méthode de test );
22 Les performances de la méthode dans la sous-classe sont meilleures que celles de la classe de base
23. exécuter une fonction avec un seul paramètre et un corps de fonction vide équivaut à 7 à 8 fois l'opération $localvar++, et une méthode similaire (fonction dans la classe) équivaut à environ 15 opérations $localvar++ ;
24. valent mieux que les guillemets doubles lors de la définition de chaînes
25. Lors de la sortie d'une chaîne, utilisez Il est plus rapide d'utiliser des virgules au lieu de points. Remarque : Cela ne fonctionne que pour echo. Cette fonction peut accepter certaines chaînes comme paramètres ;
26. Dans le serveur Apache, une page de script PHP prend au moins 2 à 10 fois plus de temps à générer que la page statique HTML correspondante. Il est recommandé d'utiliser des pages HTML plus statiques et un petit nombre de scripts ;
27. Sauf si un cache est installé, votre script php doit être recompilé à chaque accès. Il est recommandé d'installer un programme de cache PHP, qui peut améliorer considérablement vos performances de 20 à 100 % en supprimant certaines compilations répétées
28. Il est recommandé d'utiliser memcached, un système de mise en cache d'objets de mémoire distribuée hautes performances, pour améliorer les performances des applications réseau dynamiques, réduire la charge sur la base de données ;
29. Utilisez les fonctions ip2long() et long2ip() pour convertir l'adresse IP en un entier et la stocker dans la base de données au lieu d'un caractère. Cela réduit l’espace de stockage de près d’un quart. Dans le même temps, les adresses peuvent être facilement triées et recherchées rapidement ;
30. Utilisez checkdnsrr() pour confirmer la validité de certaines adresses e-mail grâce à l'existence de noms de domaine. Cette fonction intégrée peut garantir que chaque nom de domaine correspond. à une adresse IP ;
31. Si vous utilisez php5 et mysql4.1 ou supérieur, pensez à utiliser la fonction améliorée mysqli_* de mysql_*;
32 Essayez d'utiliser l'opérateur ternaire (?:);
33. Vous voulez voir si PEAR a ce dont vous avez besoin avant de refaire complètement votre projet. PEAR est une énorme bibliothèque de ressources, comme de nombreux développeurs PHP le savent ;
34. Utilisez highlight_file() pour imprimer automatiquement une copie bien formatée du code source de la page ;
35. Utilisez la fonction error_reporting(0) pour éviter. les informations potentiellement sensibles ne soient pas affichées aux utilisateurs. Idéalement, le rapport d'erreurs devrait être complètement désactivé dans le fichier php.ini. Mais si vous utilisez un hôte virtuel partagé et que vous ne pouvez pas modifier
php.ini, alors vous feriez mieux d'ajouter la fonction error_reporting(0) et de la mettre sur la première ligne de chaque fichier de script (ou d'utiliser require_once() pour chargez-le) Cela peut protéger efficacement les requêtes et chemins SQL sensibles contre l'affichage lorsque des erreurs se produisent ;
36. Utilisez gzcompress() et gzuncompress() pour compresser (décompresser) des chaînes de grande capacité et les stocker dans (hors) la base de données. heure. Cette fonction intégrée peut être compressée à 90 % à l'aide de l'algorithme gzip ;
37. Une fonction peut avoir plusieurs valeurs de retour en faisant référence à l'adresse de la variable paramètre. Vous pouvez ajouter un "&" avant la variable pour indiquer de la passer par adresse plutôt que par valeur ;
38.Comprenez parfaitement les « citations magiques » et les dangers de l'injection SQL. J'espère que la plupart des développeurs qui lisent ceci sont déjà familiers avec l'injection SQL.
Cependant, je l'énumère ici car il est absolument essentiel de comprendre si vous le souhaitez. Je n'ai jamais entendu ce terme auparavant, passez tout le reste de la journée à chercher sur Google
et à lire.
39. Utiliser strlen() n'est pas très rapide car il doit appeler d'autres opérations telles que des requêtes en minuscules et en table de hachage. Nous pouvons utiliser isset() pour obtenir des fonctions similaires. isset() est plus rapide que strlen();
40. Concernant l'incrémentation de $i++ ou la décrémentation de $i-- sera légèrement plus lente que ++$i ou --$i. , ceci Il est unique à PHP et ne convient pas aux autres langages
42. La boucle foreach remplace while ou for *
43 Utilisez file_get_contents() pour les gros fichiers, fopen(), fread() pour les petits fichiers<.>44. Méthode d'écriture normale C'est plus rapide que l'encapsulation de méthodes et de classes
Outil VLD pour afficher l'Opcode


Recommandations associées :

Optimisation du code php : php foreach et pour un exemple de test de comparaison de vitesse

Résumé de l'optimisation du code PHP

Optimisation du code PHP et résumé des problèmes liés à PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles