PHP : fiche pratique

2009, Jun 10    

Au tout début de l’apprentissage de php, on apprend de façon assez disparate. Bien souvent, c’est du copier-coller de différents tutoriels, de différents personnes (se prétendant développeur ou pas). Du coup, on se retrouve avec différentes syntaxes plus ou moins proches. On peut se retrouver avec ce genre de choses :

     echo "Hello world";
     require('conf.php');
     echo 'Stop';
     include_once("stop.php");

Et là… ben voilà quoi. Si vous tombez un jour sur un code comme celui là, soyez sûr que le type qui est passé avant vous à usé et abusé des Ctrl+C, Ctrl+V…

On va voir aujourd’hui la différence entre : ‘ et  » ainsi qu’entre require, include, require_once et include_once.

Simple quotes et guillements

Comme vous avez pu le voir dans l’exemple de code que j’ai montré plus haut on peut entouré du texte avec des simple quotes ou des guillements. Cela est valable pour plusieurs autres instructions dans php (include, echo, mail, …).

Il existe donc deux syntaxes. S’il y a deux possibilités cela implique automatiquement une différence entre le deux. Celle-ci est simple. Ce qui est contenu dans des simples quotes (‘) n’est pas interprété par PHP tandis qu’entre guillemets oui. Ceci devrait vous expliquer ce comportement :

$texte = 'bonjour';
 
// affichera bonjour toi !
echo "$texte toi !";
 
// affichera $texte toi !
echo '$texte toi !';

Du coup, utilisez ces syntaxes en sachant pourquoi vous les utilisez. Avec des guillemets le temps de traitement sera plus long qu’avec des simples quotes. Le tout est de savoir ce que vous faites et de le faire bien :)

Require, include et  _once

Il existe plusieurs façons d’intégrer un fichier dans un autre. Les fonctions require et include ont ce rôle là. Un rôle, deux fonctions. Quelles sont les différences ?  Une fois de plus, le manuel PHP est là pour nous aider.

La différence se situe au niveau des erreurs générées lorsque un fichier appellé n’existe pas. La fonction require() va génèrer une erreur fatale{.link}, tandis que include() ne fera qu’une simple Warning. Ainsi, require() stoppera l’exécution du fichier tandis que include() n’en fera rien.

Si vous incluez un fichier ce que vous devez en avoir sûrement besoin… Du coup j’utilise tout le temps *require() *personnellement.

Regardons maintenant include_once() et require_once(). Ces fonctions vérifient si le fichier demandé n’a pas déjà été inclus. La consommation en ressource est donc plus grande. De plus, en structurant bien votre pensée et donc votre code vous ne devriez pas être amené à inclure plusieurs fois le même fichier. C’est pourquoi je n’utilise jamais ces fonctions là.

Voilà, j’espère que vous aurez appris quelque chose et que cela pourra vous aider par la suite.
See you later ;)