4 erreurs basiques d'optimisation PHP à éviter

ARCHIVE

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 :

[sourcecode language="php"] < ?php mysql_connect('localhost', 'identifiant', 'mot_de_passe'); mysql_select_db('ma_base); mysql_query(...); ?> [/sourcecode]

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, à insérer une seule fois dans votre page :

[sourcecode language="php"] < ?php require "connexion_sql.php"; ?> [/sourcecode]

Avec, dans votre fichier connexion_sql.php :

[sourcecode language="php"] < ?php

[/sourcecode] 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

[sourcecode language="html"] Mon titre [/sourcecode]

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 :

[sourcecode language="php"] < ?php $contenu.='blablablabla ....'; ?> [/sourcecode]

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 :) )

 

Une question? Une remarque? Un avis? Twittons-en!

When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission.
Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network and Amazon.