Maison > développement back-end > tutoriel php > Introduction aux méthodes d'optimisation des performances PHP

Introduction aux méthodes d'optimisation des performances PHP

Libérer: 2023-04-08 10:24:01
avant
2912 Les gens l'ont consulté

php est un langage de script très populaire. Aujourd'hui, de nombreuses entreprises (Sina, Youku, Baidu, Sohu, Taobao, etc.) utilisent ce langage pour le développement de sites Web. N'oubliez pas que les performances de vos scripts PHP dépendent souvent de votre version de PHP, de l'environnement de votre serveur Web et de la complexité de votre code.

Optimisez les goulots d'étranglement dans votre code

Hoare a dit un jour « L'optimisation prématurée est la racine de tous les malheurs. » Lorsque vous souhaitez accélérer le fonctionnement de votre site Web, vous devez procéder à une optimisation. Que devez-vous faire avant de modifier votre code ? Qu'est-ce qui ralentit le système ? Vous pouvez optimiser votre php grâce aux conseils suivants et à d'autres méthodes, cela peut être pour des raisons de base de données ou de réseau. En optimisant votre code php, vous pouvez essayer de trouver les goulots d'étranglement de votre système !

Mettez à niveau votre version PHP

Les membres de votre équipe ont suggéré que le moteur PHP a connu de nombreuses améliorations symboliques des performances au fil des ans. Si votre serveur Web exécute toujours une ancienne version, telle que php3 ou php4. Ainsi, avant d’essayer d’optimiser votre code, vous devez approfondir les mises à niveau entre les versions.

Cliquez sur le lien suivant pour connaître les détails spécifiques :

Port de PHP 4 vers PHP 5

Port de PHP 5.0.x vers PHP 5.1.x

Migrer de PHP 5.1.x vers PHP 5.2.x

Utiliser la mise en cache

Utiliser des modules de mise en cache (tels que Memcache) ou des systèmes de modèles (comme Smarty) pour la mise en cache. Nous pouvons améliorer les performances du site Web en mettant en cache les résultats de la base de données et en extrayant les résultats des pages.

Utiliser le tampon de sortie

Lorsque votre script essaie d'effectuer un rendu, PHP utilisera le tampon mémoire pour enregistrer toutes les données. La mise en cache peut rendre votre page lente car le tampon est rempli de toutes les données auxquelles il faut répondre avant que le résultat ne soit renvoyé à l'utilisateur.

Heureusement, vous pouvez apporter une modification qui oblige PHP à répondre à l'utilisateur avant que le tampon ne se remplisse, ce qui rendra votre site Web plus rapide.

Évitez d'écrire des setters et getters naïfs

Lorsque vous écrivez des classes PHP, vous pouvez directement manipuler les propriétés des objets, ce qui vous aidera à gagner du temps et améliorez les performances de votre script. Plutôt que le genre de passeurs et de getters qui rendent les gens puérils et ridicules.

Voici quelques cas : la classe dog exploite l'attribut name en utilisant setName() et getName().

class dog {
  public $name = '';
 
  public function setName($name) {
    $this->name = $name;
  }
 
  public function getName() {
    return $this->name;
  }
}
Copier après la connexion

Remarque : setName() et getName() ne font rien d'autre que stocker et renvoyer l'attribut name.

$rover = new dog();
$rover->setName('rover');
echo $rover->getName();
Copier après la connexion

Définissez et accédez directement à l'attribut name, les performances peuvent être améliorées de 100 % et le temps de développement peut également être réduit !

$rover = new dog();
$rover->name = 'rover';
echo $rover->name;
Copier après la connexion

Il n'y a aucune raison de copier des variables

Parfois, les PHPers juniors, afin de rendre le code plus "propre", réaffectent souvent déjà variables définies à une autre variable. Cela entraîne effectivement une double consommation de mémoire (lors du changement de variables), ce qui entraîne une diminution des performances du script.

Par exemple, si un utilisateur insère une variable de 512 Ko dans une autre variable, 1 Mo de mémoire sera consommé.

$description = strip_tags($_POST['description']);
echo $description;
Copier après la connexion

Le code ci-dessus copie les variables sans raison. Il vous suffit de générer des variables en ligne sans consommer de mémoire supplémentaire.

echo strip_tags($_POST['description']);
Copier après la connexion

Évitez de faire une boucle pour effectuer des opérations SQL

Une erreur courante consiste à placer une opération SQL dans une boucle, ce qui entraîne des accès fréquents au plus important encore, la base de données entraîne directement de mauvaises performances du script. Dans l'exemple suivant, vous pouvez réinitialiser une opération de boucle sur une seule instruction SQL.

foreach ($userList as $user) {
  $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
  mysql_query($query);
}
Copier après la connexion

Procédure :

INSERT INTO users (first_name,last_name) VALUES("John", "Doe")
Copier après la connexion

Au lieu de ce schéma de boucle, vous pouvez regrouper les données en une seule opération de base de données.

$userData = array();
foreach ($userList as $user) {
    $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
 }
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
mysql_query($query);
Copier après la connexion

Processus :

INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...
Copier après la connexion

Cet article est reproduit à partir de : https://www.cnblogs.com/baochuan/p/3523677.html

Articles et tutoriels connexes recommandés : tutoriel 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!

Étiquettes associées:
php
source:cnblogs.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal