Skip to content
Gérits Aurélien edited this page Feb 13, 2026 · 1 revision

La classe Header est un utilitaire statique permettant de piloter la réponse HTTP envoyée au navigateur. Elle simplifie la gestion des codes d'état (Status Codes), du cache, des types de contenu (MIME Types) et des protocoles de sécurité spécifiques comme Google AMP.

Namespace : Magepattern\Component\HTTP\Header

Liste des méthodes

Méthode Paramètres Retour Description
setStatus() int $code void Définit le code de réponse HTTP (ex: 200, 404, 500).
getStatusText() int $code string Récupère le libellé standard d'un code (ex: "Not Found").
cache_control() string $cache void Configure les directives de cache (nocache, public, private).
content_type() string $type, string $charset void Définit le type de contenu (JSON, HTML, XML, PDF, Excel, etc.).
set_json_headers() string $charset void Prépare une réponse API JSON complète (Status 200 + No-Cache).
amp_headers() string $orig, array $valid, $redir void Configure les headers spécifiques pour les requêtes Google AMP.

Usage de base

  1. Forcer une erreur 404 Utile pour masquer une ressource ou indiquer une page inexistante de manière standard.
use Magepattern\Component\HTTP\Header;

if (!$pageFound) {
    Header::setStatus(404);
    include 'errors/404.php';
    exit;
}
  1. Réponse API JSON La méthode set_json_headers configure en une seule ligne le type MIME et désactive le cache navigateur (essentiel pour les données dynamiques).
Header::set_json_headers();
echo json_encode(['status' => 'success', 'data' => $result]);

Sécurité & Performance

Protection CORS (AMP) : La méthode amp_headers intègre une vérification stricte des origines (Access-Control-Allow-Origin) pour empêcher les requêtes non autorisées.

Gestion du Cache : Utilisez cache_control('nocache') pour forcer les navigateurs et les proxys à récupérer la version la plus récente de vos données sensibles.

Compatibilité FastCGI : Utilise la fonction native PHP http_response_code() pour une compatibilité maximale entre Apache et Nginx.

Exemple concret : Export de fichier Excel

La méthode content_type gère les MIME types complexes pour déclencher le bon comportement du navigateur.

// Préparation du navigateur pour recevoir un fichier Excel
Header::content_type('excel2007');
header('Content-Disposition: attachment; filename="reporting.xlsx"');

// Sortie du flux de données de la librairie Excel...

Clone this wiki locally