-
Notifications
You must be signed in to change notification settings - Fork 0
Request
La classe Request est un utilitaire statique permettant de vérifier l'existence et la provenance des données entrantes. Elle remplace l'utilisation directe et risquée des superglobales ($_GET, $_POST, etc.) en offrant une couche d'abstraction cohérente.
Namespace : Magepattern\Component\HTTP\Request
Toutes les méthodes de cette classe sont statiques. Vous n'avez pas besoin d'instancier la classe pour l'utiliser.
use Magepattern\Component\HTTP\Request;
if (Request::isMethod('POST')) {
// La requête est de type POST
}Encapsulation : Utilisez toujours Request::isPost('key') au lieu de isset($_POST['key']). La classe utilise array_key_exists en interne, ce qui permet de détecter une clé même si sa valeur est null.
Détection HTTPS : isSecure() est compatible avec les serveurs derrière un Load Balancer ou Cloudflare grâce à la détection du header X-Forwarded-Proto.
| Méthode | Paramètres | Retour | Description |
|---|---|---|---|
| isMethod(string) | $method | bool | Vérifie la méthode HTTP (GET, POST, etc.). |
| isSecure() | - | bool | Vérifie si la connexion est en HTTPS. |
| isAjax() | - | bool | Détecte si la requête provient d'un appel AJAX. |
| isGet(string) | $key | bool | Vérifie si la clé existe dans $_GET. |
| isPost(string) | $key | bool | Vérifie si la clé existe dans $_POST. |
| isCookie(string) | $key | bool | Vérifie si un cookie est présent. |
| isSession(string) | $key | bool | Vérifie si une variable de session existe. |
| isFile(string) | $key | bool | Vérifie si un fichier est en cours d'upload. |
- Filtrage d'une soumission de formulaire
use Magepattern\Component\HTTP\Request;
if (Request::isMethod('POST') && Request::isPost('user_email')) {
// Procéder au traitement du formulaire
}- Réponse différenciée (API vs HTML)
if (Request::isAjax()) {
// On renvoie du JSON pour le JavaScript
echo json_encode($data);
} else {
// On affiche la page HTML complète
$this->render('page.html');
}- Vérification de sécurité avant action sensible
if (!Request::isSecure()) {
die("Erreur : Cette action nécessite une connexion sécurisée HTTPS.");
}