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-Typeoliapplication/json- $_POST mikäli
Content-Typeoli 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/');