Programmation PHP/Premier programme

Hello World

modifier

Écrivons notre premier programme PHP. Pour le moment nous nous contenterons d'afficher le fameux "Hello World".

La commande shell est[1] :

php -r "print 'Hello World!';"

Dans un fichier

modifier

Soit le fichier HelloWorld.php ci-dessous, il peut être lancé par :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>Mon premier script PHP !</title>
  </head>
  <body>
    <p><?php echo 'Hello World!'; ?></p>
  </body>
</html>

Étude du code

modifier

Le terme echo représente une fonction propre à PHP qui a pour rôle d'afficher du texte, mais on peut aussi utiliser la fonction print à la place.

Quant à 'Hello World', il est écrit entre apostrophes pour indiquer qu'il s'agit de texte, mais on peut aussi utiliser des guillemets à la place.

Enfin, le point-virgule (;) sert à indiquer la fin de l'instruction. On peut donc placer plusieurs commandes sur une seule ligne.

Parse error

modifier

Il s'agit d'une erreur fréquente quand on débute en PHP. Elle est généralement due à une erreur de syntaxe. Cela peut être simplement à cause de l'omission d'un point-virgule ou bien par ce que vous avez une apostrophe qui gène.

Exemple de code erroné :

<?php
  // Parse error assurée
  echo 'J'irais bien boire un coup.';

Ne s'affichera pas, pour ce faire il faut juste mettre un antislash (\) devant notre apostrophe.

Exemple de code opérationnel :

<?php
  // Antislash et c'est bon
  echo 'J\'irais bien boire un coup.';


On peut aussi rendre plus lisible le code source en utilisant les caractères suivants :

  • \n : saut de ligne,
  • \t : tabulation,
  • \r : retour de chariot.

Attention : Ces caractères ne sont interprétés par le moteur PHP que s'ils sont introduits à l'aide de double apostrophe (guillemets) :

  echo "Retourne à la ligne\n";

Vous pouvez remarquer que l'exemple précédent est constitué de deux langages HTML et PHP, vous remarquerez aussi que le script est placé entre les balises <body></body> ce n'est pas une obligation ainsi le code suivant retourne la même chose :

<?php
  $texte= 'Hello World';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>Mon premier script PHP !</title>
  </head>
  <body>

    <?php
      echo ($texte);
    ?>

  </body>
</html>

Particularités de PHP CLI

modifier

PHP en ligne de commande possède plusieurs différences avec PHP sur serveur Web :

  • Les variables superglobales sont différentes : il n'y a pas de $_GET, $_POST et $_COOKIE.
  • Les paramètres (après le nom du script) sont récupérables par la variable globale $argv, et leur nombre par $argc (ou $_SERVER['argc'] si "register_globals = off;" dans php.ini).
global $argv;
global $argc;

Références

modifier