PHP Globals Provider
The component provides the ability to manage global PHP variables and obtain their state depending on WebView requests:
$_SERVER
$_POST
$_GET
$_FILES
etc.
Installation
Requirements:
PHP ^8.4
The $_SERVER
Superglobals
The component provides several implementations of ServerGlobalsProviderInterface
for managing PHP $_SERVER
superglobals:
Boson\Component\GlobalsProvider\DefaultServerGlobalsProvider
Boson\Component\GlobalsProvider\StaticServerGlobalsProvider
Boson\Component\GlobalsProvider\CompoundServerGlobalsProvider
Boson\Component\GlobalsProvider\EmptyServerGlobalsProvider
Default Provider
The Boson\Component\GlobalsProvider\DefaultServerGlobalsProvider
provides basic request-aware parameters:
This provider automatically sets request-dependent variables:
Request time parameters (
REQUEST_TIME
,REQUEST_TIME_FLOAT
)Request information (
REQUEST_METHOD
,REQUEST_URI
,HTTP_HOST
, etc.)Request headers (converted to uppercase with
HTTP_
prefix)
PSR-20 Clock
The DefaultServerGlobalsProvider
supports custom time handling through PSR-20 Clock interface:
The PSR-20 Clock component is used to generate the REQUEST_TIME
and REQUEST_TIME_FLOAT
parameters.
This allows for consistent time-based testing and custom time handling in your application.
Static Provider
The Boson\Component\GlobalsProvider\StaticServerGlobalsProvider
provides constant server parameters that are independent of the request:
The provider ensures:
Valid document root (from
SCRIPT_FILENAME
orDOCUMENT_ROOT
)Default server name (
SERVER_NAME
)Default server port (
SERVER_PORT
)Default server software (
SERVER_SOFTWARE
)etc...
Compound Provider
The Boson\Component\GlobalsProvider\CompoundServerGlobalsProvider
combines multiple providers into a single one:
The compound provider merges results from all providers in the order they are provided. Later providers can override values from earlier ones.
Empty Provider
The Boson\Component\GlobalsProvider\EmptyServerGlobalsProvider
returns an empty array of server globals:
The $_POST
Superglobals
The component does not currently provide functionality for obtaining PHP superglobal $_POST
variables.
The $_GET
Superglobals
The component does not currently provide functionality for obtaining PHP superglobal $_GET
variables.
The $_FILES
Superglobals
The component does not currently provide functionality for obtaining PHP superglobal $_FILES
variables.