Magazine Internet

4 erreurs basiques d'optimisation PHP à éviter

Publié le 23 mars 2011 par Gpenverne

Le langage PHP présente une souplesse intéressante dans son utilisation, mais, pour des raisons d'optimisation, certaines erreurs doivent être éviter. Pas réellement par soucis de fonctionnement à proprement parler, mais tout simplement par soucis de pérénité de ce que vous développez. 

Reprendre un machin codé par quelqu'un qui commet l'une de ces gaffes peut rapidement devenir long, ennuyeux et redondant. Voici donc 10 erreurs basiques à éviter lorsque l'on code en Php.

1) Faire des connexion Mysql "en dur".

Répeter à plusieurs reprises dans votre code, dans plusieurs pages, des lignes telles que :

mysql_connect('localhost', 'identifiant', 'mot_de_passe');
mysql_select_db('ma_base);

mysql_query(...); 

?>

pose un problème de taille : lorsque vous changerez de base de données ou que vous changerez d'hébergement, toutes vos pages nécessiteront des modifications.

Ainsi, il faut préférer quelque chose du genre :

require "connexion_sql.php";

?>

Avec, dans votre fichier connexion_sql.php :

mysql_connect('localhost', 'identifiant', 'mot_de_passe');
mysql_select_db('ma_base);

?>

Bien entendu, il ne faut inclure ce fichier qu'une fois dans votre (se reconnecter ne sert à rien tant que la connexion reste ouverte).

Personnellement, je passe toutes mes queries à une fonction qui se charge de la traiter, et d'ouvrir la connexion au besoin.

2) Ecrire votre header et footer "en dur"


Des lignes telles que

répétées dans chaque page pose le problème de la modification: dès que vous souhaiterez modifier votre header, vous devrez modifier chacune de vos pages.

Préfèrez donc un fichier header.php contenant ces lignes, ainsi qu'un fichier footer.php  contenant la fin de ce code (du type ) : il suffira de modifier l'un de ces fichiers pour que la modification se répercute sur chacune de vos pages.

3) N'utiliser que du echo/print

Certaines fonctions php (notamment header() et session_start(), pour ne citer qu'elles) exigent un "affichage" vide. Un header() après une commande de type echo ou print renverra une erreur.

Préférez donc quelque chose du genre :

$contenu.='blablablabla ....';

Pour terminer par un echo $contenu;

Le principe résidant dans le fait de stocker tout ce qui doit être affiché dans une variable $contenu que vous afficherez en fin de .

Bien entendu, il existe d'autres solutions: veillez simplement à ne pas afficher n'importe quoi n'importe quand. De plus, l'utilisation d'une variable de ce type permet, au besoin d'appliquer des regexp sur le rendu final (sait-on jamais).

4) Recoder ce que php sait déjà faire.

Personne ne le répétera jamais assez : les fonctions natives de php affichent une performance plus élevée que celles que vous pourriez coder vous même. Vérifiez donc, avant toute chose, que la fonction que vous vous apprêtez à coder n'existe pas déjà (la doc est votre amie :) )


Retour à La Une de Logo Paperblog

A propos de l’auteur


Gpenverne 8345 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog