Optimiser son code PHP

Discutez HTML, PHP, ASP, Javascript...

Modérateur: david96

Optimiser son code PHP

Messagede Yatooweb » Mer 24 Juin 2009 14:03

Suite à la sortie de "Let's make the web faster", non ce n'est pas un nouveau film, juste une section de Google Code (Lire l'article Google - Le web plus rapide), quelques conseils nous sont donnés par Google pour optimiser son code php.

1/ Ne pas copier les variables inutilement
Inutile de copier les variables pré-définies pour avoir un nom de variable plus court, cela double la consommation de mémoire.
Code: Tout sélectionner
MAUVAIS: $description = $_POST['description']; echo $description;
BON: echo $_POST['description'];

2/ Utilisez les guillemets simple ' et non pas les doubles "
Code: Tout sélectionner
MAUVAIS: $test = "Mange cette pomme !";
BON: $test = 'Mange cette pomme !';

MAUVAIS: $type = "avion"; $test = "C'est un $type rouge";
BON: $type = 'avion'; $output = 'C'est un ' . $type .' rouge';

3/ Utilisez echo plutôt que print
Utiliser echo à la place de print offre une meilleure lisibilité des résultats, et dans le cas suivant une meilleure performance.
Code: Tout sélectionner
MAUVAIS: <?php print($maVariable); ?>
BON: <?php echo $maVariable; ?>

4/ Ne pas utiliser la concaténation avec echo
Code: Tout sélectionner
MAUVAIS: echo 'Bonjour, je m'appelle ' . $prenom . $nom . ' et j'habite à ' . $ville;
BON: echo 'Bonjour, je m'appelle ' , $prenom , $nom , ' et j'habite à ' , $ville;

5/ Utilisez switch/case plutôt que if/else
Code: Tout sélectionner
MAUVAIS: if($_POST['action'] == 'ajouter') { ajUtilisateur(); } elseif ($_POST['action'] == 'supprimer') { supUtilisateur(); } elseif ($_POST['action'] == 'editer') { editUtilisateur(); } else { affAction(); }
BON: switch($_POST['action']) { case 'ajouter': ajUtilisateur(); break; case 'supprimer': supUtilisateur(); break; case 'editer': editUtilisateur(); break; default: affAction(); break; }


Allez hop ! A vos clavier pour corriger vos scripts :P !

Source: PHP Performance tips
Avatar de l’utilisateur
Yatooweb
Administrateur
Administrateur
 
Messages: 1018
Inscription: Mar 30 Jan 2007 14:10
Localisation: Aude

Re: Optimiser son code PHP

Messagede Tommyknocker » Ven 12 Fév 2010 09:18

Super utile pour les webmasters qui souhaitent optimiser le référencement naturel de leur site internet ;)

J'ai constaté que près de 90% des codeurs ne sont pas très propres dans leur code, si on ajoute les préconisations, on frise les 100 % :mrgreen:
Live From Marseille
Aster by Tommyknocker.
Référencement Naturel | Annuaire Marseille | Forum Référencement
Avatar de l’utilisateur
Tommyknocker
YatooExpert
YatooExpert
 
Messages: 293
Inscription: Dim 1 Juin 2008 14:27
Localisation: Marseille

Re: Optimiser son code PHP

Messagede Yatooweb » Ven 12 Fév 2010 21:59

Hé oui je dois également avouer que je fait encore beaucoup de fautes concernant l'optimisation, des années d'habitude sont parfois difficiles à perdre :P
Avatar de l’utilisateur
Yatooweb
Administrateur
Administrateur
 
Messages: 1018
Inscription: Mar 30 Jan 2007 14:10
Localisation: Aude

Re: Optimiser son code PHP

Messagede david96 » Sam 13 Fév 2010 00:21

Exact... Puis y'a aussi pour la lisibilité du code, par exemple il m'arrive souvent d'assigner les variables global ou encore d'effectuer de la concaténation dans un echo, alors qu'il y en a pas besoin.
Faut avouer qu'avec la puissance des servers qu'on nous offre maintenant, on s'attarde moins à ces petites fautes...

Mais bon, je reste quand même un adepte de l'optimisation... Et pour cela rien ne vaut une bonne gestion de cache, un code à la sémantique impeccable et le respect sans faille des recommandation du W3C :mrgreen:
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 963
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Re: Optimiser son code PHP

Messagede Tommyknocker » Dim 14 Fév 2010 14:42

Moi aussi... mais pour mes clients, j'avoue que j'aime bien tester pas mal de choses en même temps sur différents sites et du coup, certains peuvent parfois sembler bien mal optimisés ou bourrés d'erreur W3C alors que, paradoxalement, ils sont plutôt bien placés sur les recherche.

En ce qui concerne l'optimisation du code php, c'est vrai que c'est important à faire une fois que les scripts en place sur un site sont stables et sécurisés, mais, c'est un plus et non quelque chose d'indispensable :wink:
Live From Marseille
Aster by Tommyknocker.
Référencement Naturel | Annuaire Marseille | Forum Référencement
Avatar de l’utilisateur
Tommyknocker
YatooExpert
YatooExpert
 
Messages: 293
Inscription: Dim 1 Juin 2008 14:27
Localisation: Marseille

Re: Optimiser son code PHP

Messagede david96 » Dim 14 Fév 2010 15:59

Si on prend la peine de s'attarder sur le respects et les bons usages du W3C, c'est toujours tout bénéf, pour une éventuelle correction ou évolution d'une page, pour l'interportabilité etc... :)

En fait, on gagne un temps précieux à s'inspirer de ce consortium ! :wink:

En ce qui concerne le référencement, elle se fera sur la durée, et elle sera forcément payante si on n'omet pas les autres points qui en découle (ancienneté, thématique, contenu, lieu source, partenariat etc...).
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 963
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Re: Optimiser son code PHP

Messagede Tommyknocker » Dim 14 Fév 2010 19:39

oui, je suis complètement d'accord avec toi, c'est un des points importants à prendre en compte et il découle de source lorsqu'on tient à soigner son référencement. :wink:
Live From Marseille
Aster by Tommyknocker.
Référencement Naturel | Annuaire Marseille | Forum Référencement
Avatar de l’utilisateur
Tommyknocker
YatooExpert
YatooExpert
 
Messages: 293
Inscription: Dim 1 Juin 2008 14:27
Localisation: Marseille

Re: Optimiser son code PHP

Messagede phpsenior » Ven 1 Oct 2010 12:05

Bonjour,

Il y a une autre façon beaucoup plus simple, plus rapide et plus économique pour ce qui est de l'espace disque.

Prenant un exemple :

On a 4 posts : nom, prenom, email, tel

Si on veut afficher ces 4 variables postées avec echo $_POST[variable] de la sorte :

echo $_POST['nom']; // 19 caractères
echo $_POST['prenom']; // 22 caractères
echo $_POST['email']; // 21 caractères
echo $_POST['tel']; // 19 caractères

cela fait un total 81 caractères.

Mais si on utilise la fonction extract(Array) on gagnera plus en temps en écriture et en espace.
Cette fonction nous permettra de créer les variables dont les noms sont les index de ce tableau (qui est dans ce cas le $_POST)

Donc :

extract($_POST); // 16 caractères
echo $nom; // 10 caractères
echo $prenom; // 13 caractères
echo $email; // 12 caractères
echo $nom; // 10 caractères

cela fait un total de 61 caractères.

Vous pouvez utilisez aussi cette fonction avec toutes sortes de tableaux/array pour extraire et créer des variables, tels que les sessions et arrays que vous créez vous même.

Ceci n'est qu'un simple exemple et Il y a plusieurs façons pour optimiser vote code comme l'a expliqué l'Admin Yatooweb.

La fonction extract peut s'avérer aussi désavantageuse au cas où elle peut écraser une variable précédemment déclarée.
phpsenior
YatooNovice
YatooNovice
 
Messages: 1
Inscription: Ven 1 Oct 2010 11:34

Re: Optimiser son code PHP

Messagede david96 » Ven 1 Oct 2010 13:32

Excellent, ça pourrait presque s'apparenter à une boucle, genre
Code: Tout sélectionner
foreach($_POST as $val)
{
    echo $val."\n";
}
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 963
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble


Retourner vers Langage (standard, programmation)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron
W3C XHTML 1.0
W3C CSS 2.1
YATOOWEB © 2005 - 2017


Contact | Logos & liens | Partenaires | Labo | Plan du site