Cpm Affiliation : la régie publicitaire au Cpm

Les premiers pas en php

Après ces longues minutes passées à l'installation, au testage et à la configuration des différents logiciels, je vous sens désireux d'entamer le réel apprentissage. C'est pour cela que sans plus attendre, je vous propose de voir ce que sont les balises PHP et les commentaires et quelle est leur utilité.

Les balises PHP

Prenons un fichier PHP, toute mignon, tout petit, tout doux, celui du chapitre précédent :

Code PHP - exemple 1 :

<?php
phpinfo();

Je vais le réécrire sous une autre forme, ce sera plus simple pour mon explication :

Code PHP - exemple 2 :

<?php 
phpinfo();
?>

Comme nous l'avons vu, PHP est un langage interprété, l'interpréteur va donc lire ce fichier et le traiter. Petit problème : un fichier PHP peut contenir du PHP, mais peut également contenir d'autres choses, du texte, du HTML, du CSS, du Javascript et je ne sais quoi d'autre. Ceci est un contenu de fichier PHP parfaitement valide :

Code PHP - exemple 3 :

Bonjour, robert.
<?php
phpinfo(); 
?>
Au revoir, Paul le pêcheur.

Bien évidemment, l'interpréteur PHP ne comprends pas ces textes, ils ne signifient rien pour lui, puisque ce n'est pas une syntaxe PHP licite.

Info : L'on dit d'un code, d'une syntaxe, qu'elle est licite si elle respecte la grammaire et la syntaxe du langage.

Pire encore, si l'interpréteur essayait de faire quelque chose de ce texte, il vous enverrait une jolie erreur, votre code PHP ne servirait donc à rien. C'est pour cela que les balises PHP sont si importantes, elles vont indiquer à l'interpréteur ce qui est du code PHP et qu'il doit donc traiter et ce qui n'en est pas. Si vous voulez signaler le début d'un code PHP, vous devrez donc le lui indiquer via la balise ouvrante – <?php – tandis que si vous voulez lui signaler la fin d'un code PHP, vous utiliserez la balise fermante – ?>.

Comme vous l'avez sans doute remarqué, le code du chapitre précédent ne comporte pas de balise fermante, mais il fonctionne pourtant. Le comportement de l'interpréteur est donc très simple : « quand je rencontre la balise ouvrante, je commence à traiter le code jusqu'à ce que je rencontre la balise fermante, ou que j'ai lu tout le code ». À ce propos, je vous recommande justement de ne pas mettre de balise fermante, sauf si c'est nécessaire, comme dans l'exemple 3. Il y a des éléments incompréhensibles pour l'interpréteur avant et après le code PHP, il est donc nécessaire de mettre les deux balises. Cette recommandation vous sera expliquée plus tard.

Au cours de votre apprentissage, de votre parcours PHPiens, vous rencontriez ces paires de balises :

  • <? et ?>,
  • <?= et ?> et
  • <script language="php"> et </script>.

Ces paires de balises ont été ou sont encore malheureusement licite. Mais à terme, elles ne le seront plus, vous ne devez donc en aucun cas les utiliser. Ce sont de vieilles pratiques sujettes à disparation qui peuvent déjà être inutilisable en fonction de la configuration de PHP.

Parmi les exemples ci-dessus, vous connaissez maintenant le rôle de chaque élément mis à part celui-ci : phpinfo();. Nous verrons ce que c'est par la suite, promis.

Pour le plaisir, je vous propose un mini TP : écrivez moi un contenu PHP licite avec des éléments qui ne sont pas du PHP.

Les commentaires

Maintenant que vous connaissez les balises qui servent à délimiter le code PHP, nous allons voir un autre élément très important : les commentaires.
Comme tous les langages, le PHP permet de faire des commentaires, c'est-à-dire des éléments entre les balises PHP qui ne seront pas interprété. Comme ce n'est peut-être pas clair, nous allons reprendre le code d'exemple du chapitre précédent et lui apporter une petite modification :

Code PHP - exemple 4 :

<?php
  //phpinfo();

Mettez cela dans votre fichier test.php et rendez vous à l'adresse que vous connaissez maintenant bien, que se passe-t-il devant vos yeux ébahis ? En un mot : rien. Eh oui, j'ai sournoisement glissé un commentaire dans ce code, l'élément phpinfo() n'a donc pas été interprété, et comme c'est lui qui était à l'origine de ce charmant tableau, il ne reste que du vide.

Vous l'aurez donc deviné : tout ce qui suit deux slashes (//) est considéré par l'interpréteur PHP comme du commentaire ; l'interpréteur PHP n'interprète pas ce qui est mis en commentaire, il l'ignore.

Quel intérêt, alors ?

Pour l'interpréteur, il n'y en a aucun, il se fiche éperdument de vos commentaires. Mais pour vous, développeurs, les commentaires sont vitaux. Pour le moment, vos scripts sont ridiculement simples et minuscules. Mais par la suite, quand vous commencerez à faire des scripts autrement plus longs et complexes, les commentaires deviendront indispensables pour que vous, ou une personne tierce, puissiez vous y retrouver dans le code.

Imaginez que vous fassiez un très long code, très complexe et faisant intervenir de nombreux éléments. Quelques mois plus tard, pour une raison ou pour une autre, vous devez le modifier. Si vous n'avez pas mis de commentaires, vous allez avoir du mal à retrouver vos marques, et vous perdrez du temps. Vous pourriez même ne rien comprendre du tout.

Mais attention, il ne faut pas non plus tomber dans l'excès inverse. En effet, on voit parfois des scripts dans lesquels chaque ligne est commentée. Éventuellement, il est possible de trouver ça joli, mais ce n'est pas le but des commentaires, ils ne sont pas faits pour traduire votre script en français !
Ils sont là pour vous aider à vous retrouver dans votre code. Si vous commencez à mettre un commentaire pour dire que vous faites une addition, ça ne sert plus à rien. Vous devez donc faire attention à ne pas en abuser, utilisez-les avec parcimonie, quand vous devez signaler quelque chose de plus général. Si par exemple vous utilisez la méthode de Mr. Patate, il est très utile de mettre un petit commentaire disant que le code qui suit est une implémentation de la méthode de Mr. Patate

Reprenons le code précédent et modifions-le à nouveau :

Code PHP - exemple 5 :

<?php 
//phpinfo();
phpinfo();

D'après vous, que va-t-il se passer ?
Va-t-on voir deux fois le grand tableau ? Une fois ? Ou ne verra-t-on rien du tout ?
La réponse est : on verra une fois le grand tableau.
Pourquoi ? La réponse est simple. J'ai dit que les // servaient à indiquer un commentaire. Seulement, le commentaire n'est « effectif » que sur la ligne ou se trouvent les //.
Le premier phpinfo(); est donc ignoré, car il suit les //, mais comme le second est sur une autre ligne, ce n'est pas un commentaire et il génère un grand tableau.
Vous pouvez vous amuser à mettre le second phpinfo(); sur la même ligne que le premier, les deux seront alors des commentaires et vous verrez une page blanche.

Vous savez donc faire un commentaire sur une ligne, mais imaginons que vous vouliez en faire sur plusieurs. Je reprends le code précédent, et je veux mettre les deux phpinfo(); en commentaire mais en les laissant sur deux lignes différentes.
Le code ressemblera donc à ceci :

Code PHP - exemple 6 :

<?php 
//phpinfo();
//phpinfo();

Mais vous en conviendrez : si on a beaucoup de lignes à commenter, ça deviendra vite lourd de mettre des // ; si pour une raison ou pour une autre vous vouliez commenter ou décommenter un gros bloc de code, on perdrait beaucoup de temps à taper ou effacer tous les //.

C'est pour cela qu'il existe une seconde méthode pour mettre du texte en commentaire. Mieux qu'un long discours : un bout de code.

Code PHP - exemple 7 :

<?php
/*
phpinfo();
phpinfo();
*/

Testez ce code. Que se passe-t-il ? À nouveau, vous vous retrouvez face à une page toute blanche.
Vous l'aurez donc compris : tout ce qui se trouve entre /* et */ est considéré comme un commentaire. Attention, toutefois ! Le commentaire commence au premier /* et se termine au premier */.

De nouveau, un bout de code :

Code PHP - exemple 8 :

<?php 
/*
/*
phpinfo();
*/
phpinfo();
*/

Si vous testez ce code, vous allez voir quelque chose de nouveau et d'inattendu : une erreur de PHP !
Si vous avez bien compris que le commentaire commence au premier /* et se termine au premier */, vous devriez pourvoir m'expliquer pourquoi.
Quand l'interpréteur PHP interprète votre code, il trouve un /* et se dit : « Un commentaire débute, j'ignore tout jusqu'à ce que je trouve un */ » ; il continue de lire votre code et rencontre ce fameux */. Juste après cela, il lit phpinfo();, qui est une instruction valide : pas de problème, la lecture continue. Maintenant, il arrive à la dernière ligne, celle qui contient le second */. Vous savez que ça indique la fin d'un commentaire sur plusieurs lignes, seulement, l'interpréteur lui, n'a pas trouvé d'ouverture pour ce commentaire multi-lignes. Il se retrouve donc en face d'un texte qu'il doit interpréter, seulement */ ne veut rien dire pour lui. L'interpréteur renvoie donc une erreur stipulant qu'il ne comprend pas votre script et le termine.

Si vous utilisez un éditeur de texte avec coloration syntaxique, comme je vous l'ai conseillé dans le chapitre précédent, vous ne devriez jamais faire d'erreur de commentaires. En effet, ces derniers se démarquent du reste du code, par une couleur ou par une police d'écriture différente (comme vous l'avez constaté dans les codes que je vous ai donnés).

Vous voilà incollables sur les commentaires en PHP, alors faites m'en des très utiles et pertinents !

 

Infos Plan Partenaires
À propos Webmasters
C.G.U Services Gratuits Annuaire de sites web
Bannières Forum Ionoa

 

Aipoweb est un site édité par ASMOH NetWork  ©

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site