Introduction à PHP
Qu’est-ce que PHP ?
PHP est un langage de script qui s’exécute côté serveur, le code PHP étant inclus dans une page HTML classique. Il peut donc être comparé à d’autres langages de script qui fonctionnent sur le même principe : ASP (Active Server Pages) ou JSP (Java Server Pages).
À la différence d’un langage comme le JavaScript, où le code est exécuté côté client (dans le navigateur), le code PHP est exécuté côté serveur. Le résultat de cette exécution est intégré dans la page HTML qui est envoyée au navigateur. Ce dernier n’a aucune connaissance de l’existence du traitement qui s’est déroulé sur le serveur.
Cette technique permet de réaliser des pages web dynamiques dont le contenu peut être complètement ou partiellement généré au moment de l’appel de la page, grâce à des informations récupérées dans un formulaire ou extraites d’une base de données.
Exemple simple de page PHP
<!DOCTYPE html>
<html xmlns=http://www.w3.org/1999/xhtml lang="fr">
<head>
<meta charset="utf-8" />
<title>Exemple de page PHP</title>
</head>
<body>
<?php
echo '<p>Bonjour Olivier !</p>';
?>
</body>
</html>
La partie en gras est du code PHP inclus dans la page HTML à l’intérieur des balises <?php et ?>. Sur cet exemple simple, le code PHP se contente d’afficher un texte statique « Bonjour Olivier ! »...
Structure de base d’une page PHP
1. Les balises PHP
Comme nous l’avons vu précédemment, le code PHP est inclus dans une page HTML à l’intérieur de balises (aussi appelées tags).
PHP accepte deux syntaxes pour les balises :
-
<?php ... ?>
-
<? ... ?>
La première syntaxe est la syntaxe habituelle, recommandée.
La deuxième syntaxe n’est envisageable que si elle a été autorisée dans le fichier de paramétrage de PHP (php.ini) en mettant la directive short_open_tag à on. Il est déconseillé d’utiliser cette syntaxe si votre code doit être déployé sur un serveur dont vous ne maîtrisez pas la configuration et qui ne supporterait pas cette syntaxe.
Si le script ne contient que du code PHP, la balise de fermeture peut être omise.
2. La fonction echo
La fonction echo est la fonction de base de toute page PHP. Elle permet d’afficher une ou plusieurs chaînes et donc d’inclure du texte dans la page HTML envoyée au navigateur.
Syntaxe
echo(chaîne texte)
echo chaîne texte[,...]
texte |
Texte à afficher. |
La première syntaxe n’accepte qu’un paramètre alors que la deuxième en accepte plusieurs.
Exemple
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<meta charset="utf-8" />
<title>Exemple de page PHP</title>
</head>
<body>
<p>
<?php
echo('Bonjour Olivier !');
?>
<br />
<?php
echo...
Configuration de PHP
1. Le fichier de configuration php.ini
Tout au long de cet ouvrage, nous rencontrerons plusieurs directives de configuration qui peuvent être utilisées pour modifier le comportement de PHP.
Ces directives de configuration sont saisies dans le fichier de configuration de PHP (php.ini).
PHP fournit deux exemples de fichier php.ini : php.ini-dist et php.ini-production.
Le fichier php.ini-dist est un exemple de fichier de configuration, plutôt destiné à être utilisé dans un environnement de développement. À l’inverse, le fichier php.ini-production est plutôt destiné à être employé dans un environnement d’exploitation ; il contient des réglages qui rendent PHP plus sécurisé et/ou performant.
Ces deux fichiers comportent beaucoup de commentaires qui expliquent le rôle de chaque directive et donnent des conseils sur leur usage.
Pour utiliser un de ces fichiers, copiez-le à l’emplacement approprié sur votre plate-forme et renommez-le en php.ini. Le fichier php.ini est notamment recherché dans les endroits suivants (dans cet ordre) :
-
un endroit spécifique au serveur web (par exemple, la directive PHPIniDir d’Apache 2) ;
-
un endroit défini par la variable d’environnement PHPRC ;
-
le dossier /usr/local/lib ou /etc sous Linux/Unix et c:\windows ou c:\winnt sous Windows.
Dans cet ouvrage, et sauf indication contraire, nous supposerons que deux directives relatives à la gestion des erreurs et une relative au fuseau horaire par défaut sont positionnées de la manière suivante :
display_errors = on |
Les erreurs sont affichées. |
error_reporting = E_ALL |
Toutes les erreurs sont affichées. |
date.timezone="Europe/Paris" |
Fuseau horaire par défaut. |
La gestion des erreurs est présentée...
Les bases du langage PHP
1. Constantes
a. Définition
La fonction define ou le mot-clé const permettent de définir une constante.
Une constante est une zone mémoire identifiée par un nom qui contient une valeur lisible mais non modifiable dans le programme.
Syntaxe
booléen define(chaîne nom, mixte valeur[, booléen insensible_casse])
const nom = valeur
nom |
Nom de la constante (cf. dans ce chapitre Structure de base d’une page PHP - Règles de nommage). |
valeur |
Valeur de la constante. |
insensible_casse |
Indique si le nom de la constante est insensible à la casse (TRUE) ou non (FALSE - valeur par défaut, seule valeur autorisée depuis la version 8). |
La fonction define retourne TRUE en cas de succès et FALSE en cas d’erreur.
Tout type de données scalaire (voir la section Les bases du langage PHP - Types de données dans ce chapitre) ou de type tableau (voir la section Les bases du langage PHP - Tableaux dans ce chapitre) peut être utilisée comme type de données d’une constante. Depuis la version 8.1, la valeur d’une constante peut aussi être un objet instancié avec l’opérateur new (voir la section Classes dans le chapitre Écrire des fonctions et des classes PHP).
Le nom d’une constante ne doit pas commencer par un $ car ce préfixe est réservé au nom des variables (cf. dans ce chapitre Les bases du langage PHP - Variables). Il faut noter que définir une constante dont le nom commence par un $ ne génère pas d’erreur (define retourne TRUE !), mais, à l’utilisation, la constante sera vue comme une variable non initialisée.
Avec la fonction define, la valeur de la constante peut être définie à l’aide d’une expression qui utilise des valeurs littérales...