proteins/request

Handles the HTTP request for the current execution

1.0.4 2019-05-29 14:37 UTC

This package is auto-updated.

Last update: 2024-10-29 05:34:43 UTC


README

Protein | Request

Handles the HTTP request for the current execution.

Install

composer require proteins/request

Require the class via :

use Proteins\Request;

Getting an input parameter

Inputs passed to the request can be retrieved with the Request::input($key=null, $default=null) method.

The function searches for an input named $key in the $_REQUEST superglobal, if not found returns the $default value passed (resolved if $default is callable).

If you call Request::input() it will returns an associative array of all $_REQUEST content.

$_GET, $_POST, $_FILES, $_COOKIE can be accessed directly with the Request::get/post/files/cookie methods.

echo "Hello, ", Request::input('name','Friend'), '!';
GET /?name=Alyx
Hello, Alyx!

Getting the URL / URI

The Request::URL() method returns the current request URL, complete with host and protocol.

The Request::URI() method returns the current request URL, without host and protocol and relative to the front controller path.

DocumentRoot : /web/mysite.com/public
Front Controller Path : /web/mysite.com/public/foo/bar/index.php

Request::URL() –> http://mysite.com/foo/bar/someroute
Request::URI() –> /someroute

Getting the HTTP method

The Request::method() method returns the current request HTTP method, lowercase.

echo Request::method();
get

Getting RAW/JSON data

If data was passed with the request, the method Request::data($key=null, $default=null) will retrieve all (if called with no parameters) data or a single property if $key is passed.

If requested data was empty, $default will be returned (resolved if callable is passed).

If request data is passed with the Content-Type: application/json header, will be automatically decoded.

POST /
Content-Type: application/json

{
 "name": "Chell"
}
print_r( Request::data() );
stdClass Object
(
    [name] => Chell
)