1. Accueil
  2. /
  3. Docs
  4. /
  5. PHP
  6. /
  7. Les base de PHP
  8. /
  9. Introduction à PHP

Introduction à PHP

1. Installation de PHP

Pour commencer à utiliser PHP, vous devez l’installer sur votre serveur ou votre machine locale. Vous pouvez le faire en utilisant XAMPP (pour Windows) ou MAMP (pour macOS), ou en installant directement Apache, MySQL et PHP.

2. Premier Script PHP

Un script PHP est généralement intégré dans un fichier HTML et exécuté sur le serveur. Voici un exemple basique :

PHP
<?php
echo "Hello, World!";
?>

Lorsque vous accédez à ce fichier via un serveur web, il affichera “Hello, World!” dans le navigateur.

3. Variables et Types de Données

Les variables en PHP commencent par un $ suivi du nom de la variable. PHP est un langage faiblement typé, ce qui signifie que vous n’avez pas besoin de déclarer le type de variable.

PHP
<?php
$nom = "Alice";      // chaîne de caractères
$age = 30;           // entier
$prix = 19.99;       // float
$est_vrai = true;    // booléen

echo "Nom : $nom, Âge : $age, Prix : $prix, Est vrai : $est_vrai";
?>

4. Opérateurs

PHP prend en charge les opérateurs arithmétiques, de comparaison et logiques.

Opérateurs arithmétiques

PHP
<?php
$a = 10;
$b = 2;

echo $a + $b;  // Addition
echo $a - $b;  // Soustraction
echo $a * $b;  // Multiplication
echo $a / $b;  // Division
echo $a % $b;  // Modulo
?>

Opérateurs de comparaison

PHP
<?php
$a = 10;
$b = 20;

echo $a == $b;  // Egalité
echo $a != $b;  // Inégalité
echo $a < $b;   // Moins que
echo $a > $b;   // Plus que
echo $a <= $b;  // Moins ou égal
echo $a >= $b;  // Plus ou égal
?>

5. Structures de Contrôle

Conditions

PHP
<?php
$age = 18;

if ($age >= 18) {
    echo "Vous êtes majeur.";
} else {
    echo "Vous êtes mineur.";
}
?>

Boucles

Boucle for
PHP
<?php
for ($i = 0; $i < 5; $i++) {
    echo "Nombre : $i<br>";
}
?>
Boucle while
PHP
<?php
$i = 0;
while ($i < 5) {
    echo "Nombre : $i<br>";
    $i++;
}
?>

6. Fonctions

Les fonctions en PHP permettent de réutiliser du code. Voici comment les déclarer et les utiliser :

PHP
<?php
function saluer($nom) {
    return "Bonjour, $nom!";
}

echo saluer("Alice");
?>

7. Tableaux

Les tableaux en PHP peuvent être indexés numériquement ou associatifs.

Tableaux indexés numériquement

PHP
<?php
$fruits = array("pomme", "banane", "cerise");
echo $fruits[0];  // Affiche "pomme"
?>

Tableaux associatifs

PHP
<?php
$ages = array("Alice" => 25, "Bob" => 30);
echo $ages["Alice"];  // Affiche "25"
?>

8. Superglobales

PHP possède des variables superglobales prédéfinies qui sont disponibles dans tous les contextes. Les plus utilisées sont $_GET, $_POST, $_SESSION, et $_COOKIE.

Formulaires avec $_POST

HTML
<form method="post" action="process.php">
    Nom : <input type="text" name="nom">
    <input type="submit">
</form>
PHP
<?php
// process.php
$nom = $_POST['nom'];
echo "Bonjour, $nom!";
?>

9. Inclusion de Fichiers

PHP permet d’inclure d’autres fichiers PHP avec les instructions include et require.

PHP
<?php
include 'header.php';
require 'menu.php';
?>

10. Connexion à une Base de Données

PHP se connecte facilement aux bases de données MySQL en utilisant l’extension mysqli ou PDO (PHP Data Objects).

Exemple avec mysqli

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// Créer la connexion
$conn = new mysqli($servername, $username, $password, $dbname);

// Vérifier la connexion
if ($conn->connect_error) {
    die("Échec de la connexion : " . $conn->connect_error);
}

$sql = "SELECT id, nom FROM utilisateurs";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Nom: " . $row["nom"]. "<br>";
    }
} else {
    echo "0 résultats";
}

$conn->close();
?>

11. Gestion des Sessions

Les sessions permettent de stocker des informations sur l’utilisateur sur le serveur pour être utilisées tout au long de la visite.

Démarrer un session

PHP
<?php
// Démarrer une session
session_start();

// Stocker des données dans la session
$_SESSION['nom'] = 'Alice';
$_SESSION['age'] = 30;

echo "Les variables de session sont définies.";
?>

Accéder aux données de la session

PHP
<?php
// Démarrer une session
session_start();

echo "Nom : " . $_SESSION['nom'];
echo "Âge : " . $_SESSION['age'];
?>

Détruire une session

PHP
<?php
// Démarrer une session
session_start();

// Détruire toutes les variables de session
session_unset();

// Détruire la session
session_destroy();

echo "La session est détruite.";
?>

12. Gestion des Cookies

Les cookies permettent de stocker des informations sur l’ordinateur de l’utilisateur.

Définir un cookie

PHP
<?php
// Définir un cookie
setcookie("nom_utilisateur", "Alice", time() + (86400 * 30), "/"); // 86400 = 1 jour

echo "Le cookie est défini.";
?>

Accéder à un cookie

PHP
<?php
if(isset($_COOKIE["nom_utilisateur"])) {
    echo "Nom d'utilisateur : " . $_COOKIE["nom_utilisateur"];
} else {
    echo "Le cookie n'est pas défini.";
}
?>

Supprimer un cookie

PHP
<?php
// Supprimer un cookie
setcookie("nom_utilisateur", "", time() - 3600, "/");

echo "Le cookie est supprimé.";
?>

13. Programmation Orientée Objet (POO)

PHP prend en charge la programmation orientée objet (POO), ce qui permet de créer des classes, des objets, des propriétés et des méthodes.

Définir une classe

PHP
<?php
class Personne {
    // Propriétés
    public $nom;
    public $age;

    // Constructeur
    public function __construct($nom, $age) {
        $this->nom = $nom;
        $this->age = $age;
    }

    // Méthode
    public function se_presenter() {
        echo "Je m'appelle " . $this->nom . " et j'ai " . $this->age . " ans.";
    }
}

// Créer une instance de la classe
$personne1 = new Personne("Alice", 30);
$personne1->se_presenter();
?>

Héritage

PHP
<?php
class Etudiant extends Personne {
    // Propriété supplémentaire
    public $etudes;

    // Constructeur
    public function __construct($nom, $age, $etudes) {
        parent::__construct($nom, $age);
        $this->etudes = $etudes;
    }

    // Méthode redéfinie
    public function se_presenter() {
        parent::se_presenter();
        echo " Je suis étudiant en " . $this->etudes . ".";
    }
}

// Créer une instance de la classe Etudiant
$etudiant1 = new Etudiant("Bob", 22, "informatique");
$etudiant1->se_presenter();
?>

14. Gestion des Fichiers

Lire un fichier

PHP
<?php
$mon_fichier = fopen("exemple.txt", "r") or die("Impossible d'ouvrir le fichier !");
while(!feof($mon_fichier)) {
    echo fgets($mon_fichier) . "<br>";
}
fclose($mon_fichier);
?>

Écrire dans un fichier

PHP
<?php
$mon_fichier = fopen("exemple.txt", "w") or die("Impossible d'ouvrir le fichier !");
$txt = "Bonjour, monde !\n";
fwrite($mon_fichier, $txt);
fclose($mon_fichier);
echo "Écriture terminée.";
?>

Ajouter à un fichier

PHP
<?php
$mon_fichier = fopen("exemple.txt", "a") or die("Impossible d'ouvrir le fichier !");
$txt = "Ajout de texte.\n";
fwrite($mon_fichier, $txt);
fclose($mon_fichier);
echo "Ajout terminé.";
?>

15. Envoi d’Emails

PHP dispose de fonctions intégrées pour envoyer des emails.

Envoi d’un email simple

PHP
<?php
$to = "exemple@domaine.com";
$subject = "Sujet de l'email";
$txt = "Bonjour, ceci est un email de test.";
$headers = "From: webmaster@votresite.com";

if(mail($to, $subject, $txt, $headers)) {
    echo "Email envoyé avec succès.";
} else {
    echo "Échec de l'envoi de l'email.";
}
?>

16. Sécurité en PHP

Échapper les entrées utilisateur

Toujours échapper les entrées utilisateur pour prévenir les attaques par injection SQL et les failles XSS.

PHP
<?php
$nom = htmlspecialchars($_POST['nom']);
$age = (int)$_POST['age'];
?>

Préparer les requêtes SQL

Utilisez des instructions préparées pour interagir avec les bases de données.

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// Créer la connexion
$conn = new mysqli($servername, $username, $password, $dbname);

// Vérifier la connexion
if ($conn->connect_error) {
    die("Échec de la connexion : " . $conn->connect_error);
}

// Préparer et lier
$stmt = $conn->prepare("INSERT INTO utilisateurs (nom, age) VALUES (?, ?)");
$stmt->bind_param("si", $nom, $age);

// Définir les paramètres et exécuter
$nom = "Alice";
$age = 30;
$stmt->execute();

echo "Nouvel enregistrement créé avec succès.";

$stmt->close();
$conn->close();
?>

17. Utilisation des API

PHP permet d’interagir avec des API RESTful en utilisant cURL.

Exemple avec cURL

PHP
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.exemple.com/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);

$data = json_decode($output, true);
print_r($data);
?>

Conclusion

PHP est un langage de programmation très puissant et flexible pour le développement web. En maîtrisant ces concepts et techniques avancés, vous serez en mesure de développer des applications web robustes et sécurisées. N’hésitez pas à explorer davantage et à pratiquer pour améliorer vos compétences en PHP.

Still stuck? Contact

Comment pouvons-nous aider ?

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *