mezon/request

Small script for parameters fetcher

1.0.9 2022-07-01 05:42 UTC

This package is auto-updated.

Last update: 2024-10-29 06:25:00 UTC


README

Intro

This class will help you to fetch data from $_POST and $_GET arrays.

Installation

Just print in console

composer require mezon/request

And that's all )

Learn more

More information can be found here:

Twitter

dev.to

Slack

How to start

The firs steps are quite simple

var_dump(Request::getParam('some-param', 'default'));// will be outputted 'default'

$_GET['some-param'] = 'some-value';
var_dump(Request::getParam('some-param'));// will be outputted 'some-value'

Fields priorities

In case you have the same parameters in $_GET, $_POST and other global arrays, then they will be prioritized in this way:

  • security tokens in HTTP headers
  • Router parameters
  • HTTP request headers
  • $_POST
  • $_GET

For example:

$_GET['some-param'] = 'get-value';
$_POST['some-param'] = 'post-value';

var_dump(Request::getParam('some-param'));// will be outputted 'post value'

Router parameters

You can pass your Router object to this class and fetch parameters for non-static routes:

Request::registerRouter(<your Mezon\Router object>);

Security tokens in HTTP headers

There are a way to fetch security token from headers:

  • Authentication
  • Authorization
  • Cgi-Authorization

For example if you will pass in headers something like that:

Authorization: Basic <some token>

And then call:

Request::getParam('session_id')

Then this call will return <some token>.

Wrappers

There are some convenient wrappers were implemented:

// will return true if the parameter exists
// will return false otherwise
Request::wasSubmitted('param-name')

Or wrapper for check-boxes:

Request::getChecked('param-name', ['switched on', 'switched off'])
Request::getChecked('param-name', [1, 0])
Request::getChecked('param-name', [true, false])

In this call the method getChecked will return the first element of the array which is passed as the second parameter. And the second element otherwise.