-
Notifications
You must be signed in to change notification settings - Fork 0
Header
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
| 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
- 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;
}- 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]);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.
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...