Introduction à PHP
PHP, acronyme de "Hypertext Preprocessor", est un langage de script utilisé principalement
pour le développement de pages web dynamiques côté serveur. Lorsqu'un utilisateur visite
une page web, le serveur exécute le code PHP, puis envoie le résultat (généralement du
HTML) au navigateur de l'utilisateur.
Syntaxe de base
Le code PHP est encapsulé entre <?php et ?>. Par exemple :
php
Copier le code
<?php
// Commentaire sur une ligne
/*
Commentaire sur plusieurs lignes
*/
echo "Bonjour, monde !"; // Affiche "Bonjour, monde !"
?>
1. Variables et Types de données
Les variables en PHP sont définies avec le symbole $ et peuvent contenir divers types de
données :
String (Chaîne de caractères) : Texte entouré de guillemets simples ou doubles.
php
Copier le code
$texte = "Salut";
Integer (Entier) : Nombre entier.
php
Copier le code
$nombre = 42;
Float (Flottant) : Nombre à virgule flottante.
php
Copier le code
$flottant = 3.14;
Boolean (Booléen) : Valeur booléenne true ou false.
php
Copier le code
$estVrai = true;
Array (Tableau) : Collection d'éléments indexés par des clés.
php
Copier le code
$fruits = array("Pomme", "Banane", "Orange");
Object (Objet) : Instance d'une classe.
NULL : Représente une variable sans valeur.
php
Copier le code
$vide = NULL;
Manipulation des chaînes
PHP offre de nombreuses fonctions pour travailler avec les chaînes de caractères.
php
Copier le code
$prenom = "Jean";
$nom = "Dupont";
$nomComplet = $prenom . " " . $nom; // Concaténation
echo strlen($nomComplet); // Longueur de la chaîne
2. Structures de contrôle
Les structures de contrôle permettent de diriger le flux d'exécution du programme.
Conditions
if, else, elseif
php
Copier le code
$nombre = 10;
if ($nombre > 0) {
echo "Positif";
} elseif ($nombre < 0) {
echo "Négatif";
} else {
echo "Zéro";
}
switch
php
Copier le code
$jour = "lundi";
switch ($jour) {
case "lundi":
echo "Début de la semaine";
break;
case "vendredi":
echo "Fin de la semaine";
break;
default:
echo "Jour ordinaire";
}
Boucles
for
php
Copier le code
for ($i = 0; $i < 5; $i++) {
echo $i;
}
while
php
Copier le code
$j = 0;
while ($j < 5) {
echo $j;
$j++;
}
do...while
php
Copier le code
$k = 0;
do {
echo $k;
$k++;
} while ($k < 5);
foreach (pour parcourir les tableaux)
php
Copier le code
$fruits = array("Pomme", "Banane", "Orange");
foreach ($fruits as $fruit) {
echo $fruit;
}
3. Fonctions
Les fonctions sont des blocs de code réutilisables permettant de structurer le programme.
php
Copier le code
function additionner($a, $b) {
return $a + $b;
}
$resultat = additionner(5, 3); // Retourne 8
echo $resultat;
Fonctions anonymes : Fonctions sans nom, souvent utilisées comme callbacks.
php
Copier le code
$direBonjour = function($nom) {
return "Bonjour, " . $nom;
};
echo $direBonjour("Alice");
4. Tableaux
Les tableaux sont des structures de données permettant de stocker plusieurs valeurs.
Tableaux indexés
php
Copier le code
$fruits = array("Pomme", "Banane", "Orange");
echo $fruits[0]; // Affiche "Pomme"
Tableaux associatifs
php
Copier le code
$ages = array("Jean" => 25, "Paul" => 30, "Marie" => 22);
echo $ages["Jean"]; // Affiche 25
Tableaux multidimensionnels
php
Copier le code
$matrice = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
echo $matrice[1][2]; // Affiche 6
5. Programmation Orientée Objet (POO)
PHP supporte la POO, ce qui permet de modéliser des concepts sous forme d'objets et de
classes.
Définir une classe
php
Copier le code
class Voiture {
public $couleur;
public $marque;
public function __construct($couleur, $marque) {
$this->couleur = $couleur;
$this->marque = $marque;
}
public function rouler() {
return "La voiture roule.";
}
}
Créer un objet
php
Copier le code
$maVoiture = new Voiture("Rouge", "Toyota");
echo $maVoiture->rouler(); // Affiche "La voiture roule."
Encapsulation
L'encapsulation protège les données d'un objet en utilisant des propriétés privées et des
méthodes publiques pour les manipuler.
php
Copier le code
class Personne {
private $nom;
public function setNom($nom) {
$this->nom = $nom;
}
public function getNom() {
return $this->nom;
}
}
$personne = new Personne();
$personne->setNom("Alice");
echo $personne->getNom(); // Affiche "Alice"
Héritage
L'héritage permet de créer de nouvelles classes basées sur des classes existantes, facilitant la
réutilisation du code.
php
Copier le code
class Animal {
public function dormir() {
return "L'animal dort.";
}
}
class Chien extends Animal {
public function aboyer() {
return "Le chien aboie.";
}
}
$chien = new Chien();
echo $chien->dormir(); // Affiche "L'animal dort."
echo $chien->aboyer(); // Affiche "Le chien aboie."
6. Gestion des erreurs et des exceptions
PHP fournit des mécanismes pour gérer les erreurs et les exceptions de manière contrôlée.
Gestion des erreurs
php
Copier le code
$error = "Erreur personnalisée.";
trigger_error($error, E_USER_ERROR);
Gestion des exceptions
php
Copier le code
try {
if (!file_exists("[Link]")) {
throw new Exception("Fichier non trouvé.");
}
} catch (Exception $e) {
echo "Erreur : " . $e->getMessage();
}
7. Interaction avec les bases de données
PHP peut interagir avec diverses bases de données, notamment MySQL, pour gérer les
données dynamiques.
Connexion à MySQL avec MySQLi
php
Copier le code
$conn = new mysqli("localhost", "utilisateur", "mot_de_passe",
"base_de_donnees");
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}
$sql = "SELECT id, nom FROM utilisateurs";
$resultat = $conn->query($sql);
if ($resultat->num_rows > 0) {
while($ligne = $resultat->fetch_assoc()) {
echo "id: " . $ligne["id"]. " - Nom: " . $ligne["nom"]. "<br>";
}
} else {
echo "0 résultats";
}
$conn->close();
Connexion à MySQL avec PDO
php
Copier le code
try {
$conn = new PDO("mysql:host=localhost;dbname=base_de_donnees",
"utilisateur", "mot_de_passe");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT id, nom FROM utilisateurs";
$stmt = $conn->prepare($sql);
$stmt->execute();
$resultat = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($resultat as $ligne) {
echo "id: " . $ligne["id"]. " - Nom: " . $ligne["nom"]. "<br>";
}
} catch(PDOException $e) {
echo "Erreur : " . $e->getMessage();
}
8. Sécurité
La sécurité est essentielle lors du développement en PHP. Il est crucial de valider les entrées,
d'utiliser des requêtes préparées pour prévenir les injections SQL, et de protéger les données
sensibles.