Link Search Menu Expand Document

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');

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');

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äli Content-Type oli application/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/');

Copyright © 2019-2021 ut4