Un cours de ...¶
Ce cours traîte des langages PHP
pour tout ce qui est calcul et MySQL
pour tout ce qui est gestion de base de données.
Une base de données
Le MySQL est un système de gestion de bases de données relationnelles. Une base de données est un ensemble structuré de données.
À ne pas confondre avec SQL
qui est un langage de requête sur base de données.
Le PHP
est un langage simple d'accès, Open Source et gratuit, performant et solide.
Le langage PHP¶
Où écrire tu PHP?¶
Dans n'importe quel éditeur de texte: Notepad++ est universel. J'utilise Visual Studio Code pour ma part.
L'extension .php
Les fichiers qui décrivent le contenu HTML
porte naturellement l'extension .html
. Les fichiers contenant du PHP
en plus du HTML
porteront l'extension .php
La syntaxe de base¶
Le code PHP
se tape entre les balises du même nom. Un exemple de code ci-dessous:
<!DOCTYPE html>
<html>
<head>
<title>Mon cours de PHP</title>
<meta charset="utf-8">
<link rel="stylesheet" href="cours_php.css">
</head>
<body>
<h1>Titre de ma page</h1>
<?php
//Affiche "Bravo" avec un retour à la ligne
echo "Bravo!<br>";
/*Affiche
"Bonjour le Monde
*/
echo "Tu as fait ton premier script php";
?>
<p>Attention, le navigateur ne sait pas lire du php!</p>
</body>
</html>
Alors qu'un navigateur comme Firefox ou Chrome, peut directement interpréter du langage HTML
ce n'est pas le cas pour le langage PHP
. Il faut se doter d'une technologie de serveur qui exécute le code PHP
, le traduit en HTML
et le transmet au navigateur du client.
Interpréter du PHP¶
Pour exécuter du code PHP
, nous allons utiliser WAMP, le quatuor incontournable:
- W indows pour l'OS
- A pache pour le serveur HTTP
- M ySQL pour la gestion de base de données
- P HP pour exécuter le PHP
Pour lancer l’exécution du fichier PHP créé et voir le résultat dans notre navigateur, il faut alors accéder au dossier dans lequel le fichier a été stocké via notre navigateur web en passant par nos serveurs.
Pour cela, il suffit d’ouvrir un nouvel onglet dans notre navigateur favori et de renseigner l’adresse localhost
ou encore 127.0.0.1
selon votre système.
Première manipulation¶
L'instruction echo¶
Cette instruction permet l'affichage dans un script PHP
<? php
echo "<h2> Je suis un nouveau titre</h2>";
echo 30 ;
?>
Remarquez comment est définie la balise php
.
Un point c'est tout!
Toutes les instructions PHP
finissent par un ;
.
Créer des variables¶
Les variables contiennent des valeurs, de l'information.
En PHP, une variable ne va exister que durant le temps de l’exécution du script l’utilisant.
Déclarer des variables
Toute variable en PHP
doit commencer par le signe $
qui sera suivi du nom de la variable.
<? php
$nom = "Hugo";
$pnom = "Victor";
$age = 46;
echo $nom ;
?>
Boucle en PHP¶
On retrouve la notion de boucle pour répéter des instructions. Nous disposons de quatre boucles en PHP
:
- la boucle while
- la boucle do...while
- la boucle for
- la boucle foreach
Le fonctionnement général est toujours le même.
<?php
$x = 0;
while($x <= 10){
echo '$x contient la valeur ' .$x. '<br>';
$x++;
}
?>
<?php
for($x = 0; $x <= 5; $x++){
echo '$x contient la valeur ' .$x. '<br>';
}
?>
Structure de contrôle¶
La modularité est un concept qui permet d'inclure des fichiers annexes à un programme principal. On retrouve cette notion en PHP
.
Un site, celui-ci en particulier contient des zones communes à toutes les pages. L'idée est d'encapsuler ce code dans des fichiers puis de les inclure aux différentes pages web qui constituent le site.
La seule et unique différence entre les instructions include et require va se situer dans la réponse du PHP
dans le cas ou le fichier ne peut pas être inclus pour une quelconque raison (fichier introuvable, indisponible, etc.).
Inclusion fatale ou pas
L'instruction require
lève une erreur fatale si le fichier n'est pas trouvée alors que l'instruction include
retourne un simple avertissement.
<?php
echo "<h2>Menu inclus avec include</h2> <br>";
include "menu.php";
?>
Les constantes¶
En créant des constantes avec le mot clé CONST
, vous ne pourrez stocker que des données de type string, integer, float, boolean
ou array
.
On peut aussi utiliser la fonction define()
, dont les paramètres sont le nom de la constante et sa valeur.
Une constante
Une fois définie, une constante ne peut pas être modifiée ou détruite.
Il existe des constantes prédéfinies dans le système comme __FILE__,__NAMESPACE__
ou __DIR__
...
Les fonctions PHP¶
La notion de fonction est importante, elle permet d'englober une portion de code avec ses entrées et ses sorties.
Il existe des fonctions internes à PHP
et on peut compléter la liste par nos propres créations.
Un exemple de création de fonction sans paramètres:
<?php
function bonjour(){
echo "Bonjour tout le monde:";
}
?>
<?php
bonjour();
?>
<?php
function bonjour($n){
echo "Bonjour" .$n "<br>";
}
$pnom = "Charles";
bonjour($pnom);
?>
Paramètre ou argument
Une fonction est peut être défini avec des paramètres. La valeur prise par ceux-ci lors de l'appel de la fonction s'appelle des arguments.
Lorsqu’on passe une variable comme argument par valeur à une fonction, le fait de modifier la valeur de la variable à l’intérieur de la fonction ne va pas modifier sa valeur à l’extérieur de la fonction.
Parfois, on voudra cependant que nos fonctions puissent modifier la valeur des variables qu’on leur passe en argument. Pour cela, il va falloir passer ces arguments par référence.
<?php
// passage par valeurs
$x = 1;
function incrementation_par_valeur($n){
$n = $n + 1;
echo "La valeur de la variable est" .$n; ;
}
function incrementation_par_reference(&$n){
$n = $n + 1;
echo "La valeur de la variable est" .$n; ;
}
incrementation_par_valeur($x);
incrementation_par_reference($x);
?>
$x
contrairement à le seconde.
Pas de return en php?
Si nous souhaitons garder en mémoire dans une variable le résultat de l'exécution d'une fonction, il suffit de le retourner avec une `return
.
Dans ce cas, aucun résultat ne s'affiche...
Les tableaux en PHP¶
Structures de stockage indispensables, l'utilisation des tableaux (array) mérite toute notre attention.
Déclarer des tableaux en php¶
Un exemple:
<?php
$joueurs = array('Jean', 'Bruno', 'Francis', 'Hachem');
$point_de_vies = [64, 59, 2, 23];
?>
Afficher les valeurs d'un tableau¶
Pour afficher la valeur d'un tableau, il faut utiliser l'indice de cet élément dans le tableau:
<?php
echo $joueurs[1];
echo point_de_vies[0];
?>
<?php
$taille = count($joueurs);
for($i=0 ; $i < $taille; $i++){
echo $joueurs[$i] .';';
}
?>
On aurait pu créer des tableaux associatifs en associant à chaque joueur ses points de vies. La syntaxe est alors:
<?php
$joueurs = ['Jean'=>64, 'Bruno'=>59, 'Francis'=>2, 'Hachem'=>23];
?>
<?php
foreach($joueurs as $clef => $valeur){
echo $clef. 'a' .$valeur. 'points de vie.<br>';
}
?>
Les variables super globales¶
Ces variables sont internes au programme et peuvent être appellées n'importe où. Il en existe neuf: $GLOBALS, $_SERVER, $_REQUEST, $_GET, $_POST, $_FILES, $_ENV, $_COOKIE, $_SESSION
.
$GLOBALS
La variable superglobale $GLOBALS
est une variable de type tableau associatif qui stocke en fait automatiquement toutes les variables globales déclarées dans le script.
$_SERVER
La variable superglobale $_SERVER contient les variables définies par le serveur.
$_REQUEST
La variable superglobale $_REQUEST va contenir toutes les variables envoyées via les méthodes GET
et POST
et par les cookies HTTP.
$_ENV
La variable superglobale $_ENV va contenir des informations liées à l’environnement dans lequel s’exécute le script.
$_FILES
La variable superglobale $_FILES va contenir des informations sur un fichier téléchargé, comme le type du fichier, sa taille, son nom, etc.
Les variables superglobales $_GET
et $_POST
sont relatives aux formulaires HTML: elles stockent les informations envoyées par un formulaire selon la méthode utilisée.
Quant aux variables $_COOKIE
et $_SESSION
elles sont suffisamment explicites pour comprendre leur rôle...