Bibliothèque standard PHP : aperçu complet
La bibliothèque standard PHP (Standard PHP Library, SPL) est un ensemble de classes, d'interfaces et de fonctions intégrées, disponibles dans chaque distribution PHP sans nécessiter l'installation d'extensions supplémentaires. Elle couvre des domaines clés : le traitement des chaînes, des tableaux, du système de fichiers, des dates, des expressions régulières, ainsi que les structures de données et les itérateurs. Dans cet article, nous allons détailler les principaux composants de la bibliothèque standard avec des exemples pratiques.
1. Fonctions pour travailler avec les chaînes
PHP fournit des dizaines de fonctions intégrées pour la manipulation des chaînes. Voici les plus couramment utilisées :
strlen()— retourne la longueur d'une chaîne.strpos()— trouve la position de la première occurrence d'une sous-chaîne.substr()— extrait une partie d'une chaîne.str_replace()— remplace toutes les occurrences d'une sous-chaîne.explode()etimplode()— divisent/joignent des chaînes avec un séparateur.
<?php$text = "Bonjour le monde ! Bienvenue en PHP.";echo strlen($text); // 35echo strpos($text, "monde"); // 8echo substr($text, 0, 7); // "Bonjour"echo str_replace("monde", "univers", $text); // "Bonjour l'univers ! Bienvenue en PHP."print_r(explode(" ", $text)); // Array ( [0] => Bonjour [1] => le [2] => monde [3] => ! [4] => Bienvenue [5] => en [6] => PHP. )?>2. Fonctions pour travailler avec les tableaux
Les tableaux sont la base de PHP. La bibliothèque standard inclut des fonctions puissantes pour leur traitement :
array_map()— applique un callback à chaque élément.array_filter()— filtre les éléments selon une condition.array_merge()— fusionne des tableaux.array_keys()etarray_values()— obtiennent les clés/valeurs.sort()etrsort()— trient un tableau.
<?php$numbers = [1, 2, 3, 4, 5, 6];// Doubler chaque élément$doubled = array_map(fn($n) => $n * 2, $numbers);print_r($doubled); // [2, 4, 6, 8, 10, 12]
// Ne garder que les pairs$even = array_filter($numbers, fn($n) => $n % 2 === 0);print_r($even); // [1 => 2, 3 => 4, 5 => 6]
$merged = array_merge(['a' => 1, 'b' => 2], ['c' => 3, 'd' => 4]);print_r($merged); // ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4]?>3. Travail avec les fichiers et le système de fichiers
PHP dispose de fonctions pour lire, écrire et gérer les fichiers sans bibliothèques externes :
fopen(),fwrite(),fread(),fclose()— travail de bas niveau.file_get_contents()etfile_put_contents()— opérations simples.file_exists(),is_dir(),mkdir()— vérification et création de répertoires.scandir()— obtient la liste des fichiers dans un dossier.
<?php// Écriture dans un fichier$data = "Bonjour, fichier !";file_put_contents('example.txt', $data);
// Lecture d'un fichier$content = file_get_contents('example.txt');echo $content; // Bonjour, fichier !
// Création d'un répertoireif (!file_exists('uploads')) { mkdir('uploads', 0755, true);}
// Liste des fichiers$files = scandir('.');print_r($files);?>4. Travail avec la date et l'heure
La classe DateTime et les fonctions date(), time() permettent de traiter les horodatages :
<?php// Date actuelleecho date('Y-m-d H:i:s'); // 2025-03-25 14:30:00
// Travail avec DateTime$date = new DateTime('2025-12-31');$date->modify('+1 month');echo $date->format('d.m.Y'); // 31.01.2026
// Différence entre dates$now = new DateTime Aussi dans la bibliothèque
Juniper : Création d'API GraphQL efficaces en Rust
Configuration d'applications en Go : la bibliothèque viper
Rate Limiting en PHP : Limitation du taux de requêtes pour protéger le site
Envoi de SMS en C++ : API des bibliothèques libcurl et cpprestsdk
Cryptographie en C++ : chiffrement et hachage avec OpenSSL et Crypto++