PHP
Mémo de PHP 8.5, du serveur intégré à PDO et Composer, avec des tableaux et des extraits courts.
Ce mémo résume les bases de PHP. Chaque section renvoie au cours qui l'explique en détail.
Lancer et afficher
| Commande ou code | Effet |
|---|---|
php -v | Affiche la version installée. |
php -S localhost:8000 | Serveur de développement dans le dossier courant. |
php -S localhost:8000 -t public/ | Idem, avec public/ comme racine. |
<?php echo "Salut"; ?> | Affiche du texte. |
<?= $titre ?> | Raccourci de echo dans du HTML. |
Détails : Premiers pas en PHP.
Types, chaînes et conditions
| Type | Exemple |
|---|---|
string | "Tarte" |
int | 45 |
float | 4.5 |
bool | true |
null | null |
$nom = "Léa";
echo "Bonjour $nom"; // variable remplacée entre guillemets doubles
echo "Bonjour " . $nom; // concaténation
echo $photo ?? "defaut.jpg"; // valeur de secours
$libelle = match ($categorie) {
"dessert" => "Pour finir",
default => "Autre",
};
Compare avec ===. Détails : Types, chaînes et conditions.
Tableaux et boucles
$recette = ["titre" => "Crêpes", "duree" => 30];
foreach ($recettes as $recette) {
echo $recette["titre"];
}
for ($i = 1; $i <= 3; $i++) { echo $i; }
| Fonction | Rôle |
|---|---|
count($t) | Nombre d'éléments. |
in_array($v, $t) | La valeur est-elle présente ? |
implode(", ", $t) | Tableau en texte. |
array_map($f, $t) | Applique une fonction à chaque élément. |
isset($t["cle"]) | La clé existe-t-elle et n'est-elle pas null ? |
Détails : Boucles et tableaux.
Fonctions et classes
<?php
declare(strict_types=1);
namespace App;
function duree(int $minutes): string { return "$minutes min"; }
class Recette
{
public function __construct(
public string $titre,
public readonly int $duree = 30,
) {}
}
$r = new Recette("Crêpes");
echo $r->titre;
| Écriture | Sens |
|---|---|
?string | Chaîne ou null. |
int|string | Entier ou chaîne. |
void | Ne renvoie rien. |
Détails : Fonctions et objets.
Formulaires
$titre = trim($_POST["titre"] ?? "");
$duree = filter_var($_POST["duree"] ?? "", FILTER_VALIDATE_INT);
echo htmlspecialchars($titre, ENT_QUOTES, "UTF-8");
header("Location: /recettes.php");
exit;
| Superglobale | Contenu |
|---|---|
$_GET | Paramètres de l'adresse. |
$_POST | Données d'un formulaire en POST. |
$_SERVER["REQUEST_METHOD"] | "GET" ou "POST". |
Détails : Formulaires et sécurité.
PDO et Composer
$pdo = new PDO("sqlite:recettes.db", null, null, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
$stmt = $pdo->prepare("SELECT * FROM recettes WHERE duree <= :max");
$stmt->execute(["max" => 45]);
$lignes = $stmt->fetchAll();
composer init
composer require vendor/paquet
composer dump-autoload
composer.json
{ "autoload": { "psr-4": { "App\\": "src/" } } }
Détails : Base de données avec PDO et Composer.
Sources officielles
Ensuite
- Projet
- Lignes de code
- Niveau
- Sous-sol
- Appartement
- PHP
- Pièce
- 7/7
- Plan n°
- php/index