PHP: le langage

A quoi sert PHP ?

Du PHP pourquoi faire? PHP sert avant tout à obtenir des sites Web dynamiques ! Tout est là !
En effet qui reviendrait sur un site qu'il a déjà vu et qu'il connaît déjà ? Alors bien sûr, on peut toujours modifier les pages HTML tous les jours à l'aide de son éditeur préféré pour donner du dynamisme à son site (par exemple écrire chaque jour la date courante) mais qu'en est-il lorsque le webmaster est absent ? Grâce au PHP, on peut demander d'afficher la date courante à chaque fois que quelqu'un consulte une page.
Bien entendu, on peut aussi afficher l'heure par d'autres moyens tel que le javascript, cependant le javascript affichera la date de l'ordinateur du visiteur.
Ce qui est intéressant dans le PHP, c'est que c'est le serveur qui interprète les pages php et génére ainsi à la demande des pages HTML que le client (c'est à dire n'importe qui derrière son ordinateur) pourra lire sans avoir besoin d'un ordinateur puissant.

PHP permet bien plus de chose que d'afficher la date, il permet entre autre de créer des forums, des annuaires de liens, des livres d'or... Vous aurez l'occasion de découvrir par la suite, les innombrables possibilités offertes par ce langage de script.

Principe de fonctionnement

Avant de commencer à coder en PHP, il est très important de comprendre comment cela fonctionne. Il faut savoir que lorsque vous tapez une URL (adresse de site internet) depuis votre navigateur (appelé client) vous demandez en fait à un serveur (un logiciel tournant généralement sur une machine distante) de vous retourner une page. S'il s'agit d'un page HTML alors cette page sera retournée telle quelle (telle qu'elle a été ecrite par le "programmeur" ou "designer" ). Dans le cas d'une page PHP, cela est un poil plus complexe. Comme l'explique le schéma suivant:

Une fois une page HTML ou PHP appelée, elle passe par le serveur Web (ici Apache). Si l'extension du fichier correspond à ce que l'on a défini comme étant l'extension PHP (généralement .php3, .php ...), le serveur demande à l'interpréteur PHP d'exécuter le code PHP contenu dans le fichier (ce qui généralement ajoutera du code HTML à la page). L'exécution de ce code PHP entrainera éventuellement un échange d'informations avec la base de données (ou d'autres systèmes). Au final, c'est une page HTML (généralement) qui est renvoyé à Apache (avec éventuellement du Javascript, des appels à des applets... enfin tout ce que les navigateurs peuvent comprendre). Le résultat est émis vers le navigateur. FIN du parcours.

PHP par rapport aux autres technologies

Avec tous les termes ASP, JSP, Javascript, VBScript, Flash vous ne savez plus où donner de la tête ? Je vous propose alors de consulter cette page:

Que fait PHP? Que ne fait pas PHP?

Comment tester ?

Du chapitre précédent, vous avez normalement déduit que vous ne pouvez pas lire un fichier .php simplement en utilisant l'option "ouvrir fichier" de votre navigateur. Il vous faut obligatoirement passer par un serveur WEB. Pour cela, vous avez 2 solutions :

  1. Soit en passant par le serveur WEB de votre hébergeur, ce qui ne nécessite aucun effort d'installation mais est très contraignant puisqu'il faut à chaque fois aller déposer les scripts à tester via FTP.
  2. Soit en installant un serveur WEB sur son propre ordinateur, ce qui est bien plus pratique pour tester et se familiariser avec le fonctionnement de PHP

Pour vous guider dans l'installation d'un serveur WEB sur votre ordinateur, nous vous conseillons d'aller faire un tour sur le chapitre installation

Installation sous Windows

Installation sous Linux

Les bases

Selon les règles d'usage voici le fameux "Hello World" en PHP (helloworld.php):

<html>
 <head>
  <title>Hello World</title>
 </head>
 <body>
 <?php
   
echo "Hello world";
  
?>
 </body>
</html>

Remarques:

  1. La partie entre les tags PHP (<?php ?>) va être interprétée par le serveur. Ici on lui indique d'écrire "Hello World"
  2. Comme dans beaucoup de langages, deux lignes d'instructions sont séparés par un ";" l'exécution d'un script où manquerait ce ";" provoquerait une erreur (sauf s'il s'agit de la dernière instruction).

Après avoir copié ce fichier avec l'extension .php à la racine de votre serveur web (sous le répertoire www d'EasyPHP), vous pouvez l'appeler en tapant dans votre navigateur l'url "http://localhost/helloworld.php" (mais certainement pas avec l'option ouvrir de votre navigateur)

Si maintenant on regarde le fichier source de la page Web (via l'option du navigateur) on y lit:

<html>
 <head>
  <title>Hello World</title>
 </head>
 <body>
   Hello world
 </body>
</html>

Remarques:

  1. Et oui ! Plus aucune trace du code PHP. Seulement le résultat de l'interprétation.

Mais rassurez vous, avec PHP ,on peut faire beaucoup plus fort.

Les fonctions

Très pratique en PHP, les fonctions en PHP servent comme dans tout langage de programmation à exécuter un "bout de code" en passant des paramètres dans le but d'obtenir un résultat qui peut-être automatisé. Comment se déclare une fonction ?

<?php
 
function cube($x) {
  return 
$x*$x*$x;
 }

 function 
puissance($x,$y) { 
  
$resultat=1;
  for (
$i=0;$i<$y;$i++)
   
$resultat *= $x;
  return 
$resultat;
 }
?> 

Remarques:

  1. Les paramètres d'entrée ne sont vus que dans la fonction
  2. La valeur retournée est précédée du mot return
  3. Pour accéder a une variable définie a l'exterieure de la fonction il faut les déclarer en début de fonction précéder du mot global, sinon elles ne sont pas visibles.
  4. La fonction puissance existe en PHP, elle s'appelle pow mais on est là pour apprendre...

L'appel à la fonction se fait de la façon suivante:

<?php
 $a
=3;
 
$b=4;
 
$toto=puissance($a,$b); // ce qui est équivalent à $toto=puissance(3,4);
?> 

Evidemment les fonctions sont très utiles, on peut mettre les déclarations de fonction et les appels à ceux-ci dans le même fichier. On peut aussi faire des fichiers regroupant des fonctions (par exemple un fichier qui regrouperait des fonctions mathématiques que l'on appelerait math.inc.php (ou math.toto mais il est de coutume de leur donner l'extension .inc.php (ou _inc.php) comme include).
Quand un fichier nécessite ses fonctions, on peut appeler le fichier par un require("math.inc.php");.
ATTENTION si vous ne conservez pas l'extension .php n'importe qui pourra voir votre code PHP car il ne sera pas interprété.
ATTENTION, il ne faut pas inclure plusieurs fois le même fichier !!! Pour éviter cela, vous pouvez utiliser l'instruction include_once() ou require_once() (pour les versions inférieure à PHP 4.0.2, on peut mettre une variable $includemath à 1 et tester cette variable avant de l'inclure dans un fichier mais cela peut poser des problèmes de sécurité).

Fichier math.inc.php:

<?php

 
function cube($x) {
  return 
$x*$x*$x;
 }

 function 
puissance($x,$y) {
  
$resultat=1;
  for (
$i=0;$i<$y;$i++)
   
$resultat *= $x;
  return 
$resultat;
 }
?> 

Un fichier qui utiliserait la librairie math.inc.php:

<?php

 
require_once("Math.inc.php");
 
$resultat=puissance(2,6);
    
?> 

Remarques:

  1. Grâce à require_once(), on peut inclure ce dernier fichier dans un autre fichier qui aurait déjà inclu la librairie math.inc.php

Conclusion

Je pense que maintenant vous êtes prêt à découvrir les autres cours de PHP Facile! ainsi les guides de références PHP et MYSQL pour pouvoir profiter des nombreuses fonctions existantes.