[ Sommaire général - TICE... - Autoformation] Logo php
Logo PHP

Intranet dynamique
PHP
Fonctions avancées

Sans entrer des détails de programmation, il est important de pouvoir faire appel à quelques fonctions avancées de PHP pour rendre les pages plus souples et plus lisibles.

 
PHP : Notions de base || Exemples de scripts en PHP

Inclusion des scriptsRevenir au début du texte

Il arrive souvent qu’un ensemble de pages web en PHP, que nous appellerons une application, fasse souvent appel au même code. Au lieu de copier ce code et de le coller sur toutes les pages, on peut inclure « virtuellement » ce code dans une page avec la commande include :

include("nom_de_la_page.php");

De cette façon on peut créer de petites pages en php, qui ne contiendront peut-être aucun code html, avec les fonctions les plus utilisées : gestion des erreurs, contrôle des sessions utilisateurs, initialisation d’une connexion à une base de donnée…

Exemples :

include("erreur.php");
include("session.php");
include("crp_funct.php");

Une utilisation très courante de cette commande est également de créer un fichier pour le début de la page web et un autre pour la fin. Ces deux fichiers contenant essentiellement du code html. En faisant appel à ces deux fichiers sur chaque « page » de l’application, on garde une parfaite unité graphique sans avoir besoin de redéfinir la forme de la page.

Ecriture des fonctionsRevenir au début du texte

Lorsqu’on utilise très souvent une suite de commandes, il est préférable de l'enregistrer sous la forme d’une fonction. Cette fonction devra porter un nom unique et peut être placée n’importe où dans le code.

Pour des raisons de lisibilité, on la place de préférence en début de code PHP ou dans un fichier à inclure (voir plus haut). Pour rendre cette fonction plus dynamique, on peut lui passer des paramètres sous la forme de variables. L’écriture d’une fonction est la suivante :

function nom_de_la_fonction($variable1,$variable2…)
                 { code de la fonction }

Exemple :

function suppresa($var,$session)
{
  include("sql_init.php");
  $query = "DELETE FROM crp_resa WHERE num = '$var'";
  $id_sql = mysql_query($query,$connexion);
  print("<p><b>La réservation a été supprimée</b></p>");
  showresa($session);
  // Fermer la connexion
  mysql_close($connexion);
}

Cette fonction supprime une ligne d’une base de données et on remarque qu’elle fait aussi appel à un fichier inclus : sql_init.php. Ce fichier initialise la connexion avec la base de données (voir partie 6.4.3.)

DéboguerRevenir au début du texte

On dit souvent qu’un inconvénient majeur du langage PHP vient de l’absence de fonctions de débogage. Ce n’est vrai qu’en partie : PHP ne dispose pas d’interface de développement comme on peut en trouver pour Java, C++ ou Pascal (autres langages informatiques), bien que certains produits soient en développement.
Mais le code d’une application en PHP est réparti sur plusieurs pages web et il est donc plus facile de repérer les erreurs, page par page.

Par défaut, PHP vous indiquera les erreurs de syntaxe du code, puisque la syntaxe est analysée avant l’exécution. Vous pouvez toutefois forcer PHP à vous donner plus d’indications sur le déroulement de l’exécution du code (au détriment de la lisibilité de votre page web !). Cela se fait à l’aide de la commande « error_reporting » que l’on place au début du code d’une page :

error_reporting(liste des erreurs)

Pour retrouver les détails de cette commande, allez sur la page suivante : http://www.php.net/manual/fr/function.error-reporting.php

Exemple :

error_reporting(E_ERROR | E_PARSE);

On active ici le rapport des erreurs qui bloquent le programme (E_ERROR) et les erreurs de syntaxe à l’analyse du code (E_PARSE). Toutes les autres erreurs sont ignorées.

Jean - Luc Richter
02-01-2003

PHP : Notions de base || Exemples de scripts en PHP