Le code PHP est stocké dans de simple fichier texte. La langage a la même syntaxe et la même structure que le langage C. PHP a été prévu pour être inclus et mélangé au code HTML qu'il est chargé de dynamiser.

### Le code PHP

- Le code PHP a la même syntaxe et la même structure que le langage C.
- Les instructions se terminent obligatoirement par un point virgule.
- Les noms d'instruction et les mots-clés, les noms de fonctions (standards ou utilisateur) et les noms de classes peuvent être écrits indifféremment en majuscules ou en minuscules.
  Les 3 lignes suivantes sont équivalentes :
  echo "bonjour";
  ECHO "bonjour";
  EcHo "bonjour";
- Les noms de variables sont sensibles aux majuscules et aux minucules. $var, $var et $vAR sont 3 variables différentes.
- Les espaces et les sauts de ligne n'ont généralement pas d'importance. Vous pouvez écrire une instruction sur autant de lignes que vous voulez, en utilisant autant d'espaces que vous voulez. Par exemple l'instruction :
  maFonction ($argument1, $argument2, $argument3);
  pourrait être écrite :
  maFonction (
  $argument1 ,
  $argument2 ,
  $argument3 ,
  );

  Utilisez cette flexibilité pour donner à votre code un maximum de lisibilité.

- Des commentaires peuvent doivent être mis dans le code. Trois syntaxes sont disponibles :
  - # marque le début d'un commentaire qui s'arrête à la fin de la ligne
  - // marque le début d'un commentaire qui s'arrête à la fin de la ligne
  - /* et */ marquent le début et la fin de commentaires qui peuvent s'étendre sur plusieurs lignes.

      /* Des commentaires doivent expliquer
      ce que fait le code, et ils doivent
      apporter quelque chose */

      // Le commentaire suivant n'apporte rien
      $a = 10;	// $a est initialisé à 10

      # Le commentaire suivant est intéressant
      $b = 20;	// $b est utilisé comme limite maximum

- Les noms (de variables, de fonctions, de classes, de constantes) doivent commencer par un caractère alphabétique ou le caractère _ (underscore). Les caractères suivants peuvent être alphabétiques ou numériques.

| Bon | Mauvais
Variables | $variable $_variable $variable | $une variable $1variable $/Variable
Fonctions | uneFonction _uneFonction une_fonction | une Fonction 1Fonction une-fonction

Comme le code PHP doit être exécuté par le serveur, si vous ouvrez directement une page PHP dans votre navigateur, le code ne sera pas exécuté, mais affiché tel que. Pour tester vos pages PHP, vous devez donc obligatoirement passer par un serveur, en donnant l'adresse complète de la page comme URL ( http://www.site.fr/page.php si vous êtes connecté à Internet, ou http://localhost/page.php si vous êtes connecté en local, avec easyPhp, wamp, etc.)

### Exemples

L'exemple suivant affiche la date et l'heure du serveur. Le code PHP est inclus entre les balises <?php et ?>. Il utilise la fonction date() pour cacluler la date et l'heure, et la fonction echo pour afficher le résultat.

Exemple
<!DOCTYPE html> <html lang="fr"> <head><title>Page PHP</title></head> <body> Bonjour <br> Nous sommes le <?php echo date('d/m/y'); ?> <br> Heure du serveur : <?php echo date('H:i:s'); ?> </body> </html>

Le code pourrait être écrit de la façon suivante.

Exemple
<!DOCTYPE html> <html lang="fr"> <head><title>Page PHP</title></head> <body> <?php echo 'Bonjour<br>Nous sommes le '; echo date('d/m/y'); echo '<br>Heure du serveur : '; echo date('H:i:s'); ?> </body> </html>

Ou encore ...

Exemple
<!DOCTYPE html> <html lang="fr"> <head><title>Page PHP</title></head> <body> <?php echo 'Bonjour<br>Nous sommes le ', date('d/m/y'), '<br>Heure du serveur : ', date('H:i:s'); ?> </body> </html>

Pour voir la différence entre le code HTML généré côté serveur et le code généré côté client, nous allons afficher l'heure sur le serveur (avec PHP) et l'heure sur le client (avec JavaScript).

Exemple
<!DOCTYPE html> <html lang="fr"> <head><title>Page PHP</title></head> <body> <?php echo 'Bonjour<br>Nous sommes le ', date('d/m/y'), '<br>Heure du serveur : ', date('H:i:s'); ?> <script language="JavaScript"> D = new Date(); document.write('<p>Heure du client : ' + D.getHours() + ":" + D.getMinutes() + ":" + D.getSeconds()); </script> </body> </html>

echo n'est pas vraiment une fonction (c'est techniquement une structure du langage), c'est pour cette raison que l'on ne doit pas placer les paramètres qu'on lui transmet entre parenthèses.

Les chaînes affichées avec echo sont transmises au client (ie au navigateur).