class Pike\Request
Luokka, joka kapseloi HTTP-pyynnöt.
Synopsis
class Request {
/* Muuttujat */
public string $path ;
public string $method ;
public object $params ;
public object $body ;
public object $files ;
public array<string, string> $serverVars ;
public array<string, string> $queryVars ;
public array<string, string> $cookies ;
public ?object $routeInfo ;
public ?string $name ;
public mixed $myData ;
/* Metodit */
public __construct ( string $path, string $method = 'GET', ?object $body = null, ?object $files = null, ?array $serverVars = null, ?array $queryVars = null, ?array $cookies = null )
public queryVar ( string $key, ?string $default = null ) : ?string
public attr ( string $key, mixed $default = null ) : mixed
public cookie ( string $key, ?string $default = null ) : ?string
public header ( string $name, ?string $default = null ) : ?string
public static createFromGlobals ( ?string $fullUrl, ?string $baseUrl = null ) : self
}
Muuttujat
- path
- Pyynnön polku, esim.
/yritys/palvelut
. - method
- Pyynnön HTTP-metodi, esim.
POST
. - params
- Routerin mappaamat parametrit, esim.
(object) ['parametrinNimi' => 'arvo']
. - body
- $_POST-data, tai (json)parsattu
php://input
. - files
- Pyynnön tiedostot ($_FILES).
- serverVars
- Ks. attr().
- queryVars
- Ks. queryVar().
- cookies
- Ks. cookie().
- routeInfo
- Lisätietoa pyynnön reittimäärityksestä, esim.
(object) ['myCtx' => ['my' => 'data'], 'name' => 'reitin-nimi']
. - name
- Pyynnön reittimäärityksen nimi. Sama kuin
routeInfo->name
. - myData
- Kenttä johon voit tallentaa mitä tahansa (user, csrfToken jne.).
Metodit
__construct()
Luo uuden request-olion.
Signature
public function __construct ( string $path, string $method = 'GET', ?object $body = null, ?object $files = null, ?array $serverVars = null, ?array $queryVars = null, ?array $cookies = null )
Esimerkit
Katso myös Pike\Request::createFromGlobals().
$request = new Request('/url');
queryVar()
Palauttaa arvon konstruktoriin passatusta $queryVars
-taulukosta (oletuksena $_GET), tai $default
mikäli sitä ei löytynyt.
Signature
public function queryVar ( string $key, ?string $default = null ) : ?string
Esimerkit
$value = $request->queryVar('search');
attr()
Palauttaa arvon konstruktoriin passatusta $serverVars
-taulukosta (oletuksena $_SERVER), tai $default
mikäli sitä ei löytynyt.
Signature
public function attr ( string $key, mixed $default = null ) : mixed
Esimerkit
$ip = $request->attr('REMOTE_ADDR');
cookie()
Palauttaa arvon konstruktoriin passatusta $cookie
-taulukosta (oletuksena $_COOKIE), tai $default
mikäli sitä ei löytynyt.
Signature
public function cookie ( string $key, ?string $default = null ) : ?string
Esimerkit
$value = $request->cookie('myCookie');
header()
Palauttaa headerin $this->attrs()
-taulukkoa (HTTP_*, CONTENT_LENGTH jne.) käyttäen, tai $default
mikäli mitään ei löytynyt.
Signature
public function header ( string $name, ?string $default = null ) : ?string
Esimerkit
$value = $request->header('X-Requested-With');
createFromGlobals()
Luo uuden request-olion asettaen:
- pathiksi
explode('?', $fullUrl ?? $_SERVER['REQUEST_URI'])[0]
poistaen sen alusta$baseUrl
- metodiksi
$_SERVER['REQUEST_METHOD']
- bodyksi (
POST
,PUT
):json_decode('php://input')
mikäliContent-Type
oliapplication/json
- $_POST mikäli
Content-Type
oli mikä tahansa muu
- files, attr, queryVar, ja cookie -arvoiksi tämän sivun metodikuvauksissa kuvatut oletusarvot
Signature
public static function createFromGlobals ( ?string $fullUrl, ?string $baseUrl = null ) : self
Esimerkit
$request = Request::createFromGlobals(null, '/dir/');