C'est un module composant du framework Ekolo
destiné à gérer et manipuler tous les traitements liés à toutes les requêtes et aux réponses http
.
Pour l'installer vous devez à avoir déjà composer installé. Si ce n'est pas le cas aller sur Composer
$ composer require ekolo/http
ekolo/http
contient des dossiers qui à leurs tours contiennent des classes pour faciliter la tâche aux développeurs.
src
Dossier principal de la librairieOptions
: Contient quelques classes qui à gérer des éléments optionnnelement.Bodies
: Gère les données venue par la méthodePOST
Headers
: Gère les headersParams
: Gère les données venue par la méthodeGET
Params
: Gère les données et des variables server$_SERVER
Request
: Contient des classes qui alimente la classRequest
qui gère les requêteshttp
Response
: Contient des classes qui alimente la classResponse
qui gère les réponseshttp
Pour plus des détails sur ces classes il serait mieux de parcourir le code source de chaque classe.
Gère les requêtes http
Cette méthode permet de récuper et de manipuler les données (variables) envoyées par la méthode GET qui sont généralement stockées la variable super globale $_GET
use Ekolo\Component\Http\Request;
$_GET = [
'nom' => 'Etokila',
'prenom' => 'Diani',
'sexe' => 'M'
];
$request = new Request;
$key
: C'est le nom de la variable à récuperer
use Ekolo\Component\Http\Request;
$_GET = [
'nom' => 'Etokila',
'prenom' => 'Diani',
'sexe' => 'M'
];
$request = new Request;
echo $request->params('nom'); // Etokila
key
: C'est le nom de la variable à récuperer
echo $request->params()->nom; // Etokila
Ceci est l'appelle des méthodes magiques si on ne veut pas récuperer par des attributs
key
: C'est le nom de la variable à récuperer
echo $request->params()->nom(); // Etokila
$key
: C'est le nom de la variable à récuperer
echo $request->params()->get('nom'); // Etokila
$key
: C'est le nom de la variable à récuperer$default
: C'est la valeur par défaut au cas où cette variable n'existe pas
echo $request->params()->get('fonction', 'Professesur'); // Professesur
$key
: C'est le nom de la variable à récuperer$default
: C'est la valeur par défaut au cas où cette variable n'existe pas
echo $request->params('grade', 'Médecin'); // Médecin
Renvoi le tableau contenant toutes les varibles
print_r($request->params()->all());
/*
Array
(
[nom] => Etokila
[prenom] => Diani
[sexe] => M
)
*/
En bref, le
params
est une instance de l'objetParameterBag
qui est une classe de la librairieeko-magic
. Pour plus d'information aller sur sa documentation.
Cette méthode permet de récuperer les données envoyées par la méthode POST
, génralement stockées dans la variable super globale $_POST
.
L'utilisation de cette méthode est égale à celle de params
use Ekolo\Component\Http\Request;
$request = new Request;
$request->body()->add([
'nom' => 'Utilisateur',
'prenom' => 'nouveau',
'email' => 'inconnu'
]);
echo $request->body()->prenom();
Cette méthode permet de récuperer les données du serveur, génralement stockées dans la variable super globale $_SERVER
.
L'utilisation de cette méthode est égale à celle de params
et body
use Ekolo\Component\Http\Request;
$request = new Request;
echo $request->server()->PROCESSOR_IDENTIFIER);
echo echo $request->server()->SCRIPT_NAME();
print_r($request-server()->all());
/*
Array
(
[PHP_SELF] => index.php
[SCRIPT_NAME] => index.php
[SCRIPT_FILENAME] => index.php
[PATH_TRANSLATED] => index.php
[DOCUMENT_ROOT] =>
[REQUEST_TIME_FLOAT] => 1582292281.2729
[REQUEST_TIME] => 1582292281
...
)
*/
Cette méthode permet de récuperer les headers envoyés.
L'utilisation de cette méthode est égale à celle de params
et body
use Ekolo\Component\Http\Request;
$request = new Request;
echo $request->headers()->get('User-Agent');
print_r($request-server()->all());
/*
Array
(
[PHP_SELF] => index.php
[SCRIPT_NAME] => index.php
[SCRIPT_FILENAME] => index.php
[PATH_TRANSLATED] => index.php
[DOCUMENT_ROOT] =>
[REQUEST_TIME_FLOAT] => 1582292281.2729
[REQUEST_TIME] => 1582292281
...
)
*/
Cette méthode est juste un synonyme pour de body
L'utilisation de cette méthode est égale à celle de body
use Ekolo\Component\Http\Request;
$request = new Request;
$request->input()->set('nom', 'mbuyu');
echo $request->input()->get('nom');
print_r($request-server()->all());
Attention pour les clés qui ont de tiret
-
, là le génarateur des attributs et des méthodes ne les prend pas en charge, du cout ces valeurs ne peuvent être récuperées que parget('User-agent')
ouparams('user-name')
oubody('encore-ici')'
ainsi de suite
Gère les réponses http
Pour plus de détails consulter les codes sources dans src/Response