bayfrontmedia / php-http-request
Easily handle data from incoming HTTP requests.
Requires
- php: ^8.0
- bayfrontmedia/php-array-helpers: ^2.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Easily handle data from incoming HTTP requests.
License
This project is open source and available under the MIT License.
Author
Requirements
- PHP
^8.0(Tested up to8.4)
Installation
composer require bayfrontmedia/php-http-request
Usage
Request methods
Data types
- getFile
- hasFile
- getQuery
- hasQuery
- getPost
- hasPost
- getServer
- hasServer
- getCookie
- hasCookie
- getHeader
- hasHeader
- getBody
- hasBody
Specific values
validateMethod
Description:
Returns valid request method with a fallback to GET.
Valid request methods include:
CONNECTDELETEGETHEADOPTIONSPATCHPOSTPUTTRACE
Parameters:
$method(string)
Returns:
- (string)
Example:
use Bayfront\HttpRequest\Request;
echo Request::validateMethod('GET');
getMethod
Description:
Returns current request method.
Parameters:
- None
Returns:
- (string)
Example:
use Bayfront\HttpRequest\Request;
echo Request::getMethod();
isConnect
Description:
Is current request method CONNECT.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isConnect()) {
// Do something
}
isDelete
Description:
Is current request method DELETE.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isDelete()) {
// Do something
}
isGet
Description:
Is current request method GET.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isGet()) {
// Do something
}
isHead
Description:
Is current request method HEAD.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isHead()) {
// Do something
}
isOptions
Description:
Is current request method OPTIONS.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isOptions()) {
// Do something
}
isPatch
Description:
Is current request method PATCH.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isPatch()) {
// Do something
}
isPost
Description:
Is current request method POST.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isPost()) {
// Do something
}
isPut
Description:
Is current request method PUT.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isPut()) {
// Do something
}
isTrace
Description:
Is current request method TRACE.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isTrace()) {
// Do something
}
getFile
Description:
Returns value of single $_FILES array key in dot notation or entire array, with optional default value.
Parameters:
$key = NULL(string|null)$default = NULL(mixed): Default value to return if array key is not found
Returns:
- (mixed)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getFile('profile_photo'));
hasFile
Description:
Checks if $_FILES array key exists in dot notation.
Parameters:
$key(string)
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasFile('profile_photo')) {
// Do something
}
getQuery
Description:
Returns value of single $_GET array key in dot notation or entire array, with optional default value.
Parameters:
$key = NULL(string|null)$default = NULL(mixed): Default value to return if array key is not found
Returns:
- (mixed)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getQuery());
hasQuery
Description:
Checks if $_GET array key exists in dot notation.
Parameters:
$key(string)
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasQuery('page')) {
// Do something
}
getPost
Description:
Returns value of single $_POST array key in dot notation or entire array, with optional default value.
Parameters:
$key = NULL(string|null)$default = NULL(mixed): Default value to return if array key is not found
Returns:
- (mixed)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getPost());
hasPost
Description:
Checks if $_POST array key exists in dot notation.
Parameters:
$key(string)
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasPost('username')) {
// Do something
}
getServer
Description:
Returns value of single $_SERVER array key in dot notation or entire array, with optional default value.
Parameters:
$key = NULL(string|null)$default = NULL(mixed): Default value to return if array key is not found
Returns:
- (mixed)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getServer());
hasServer
Description:
Checks if $_SERVER array key exists in dot notation.
Parameters:
$key(string)
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasServer('SERVER_NAME')) {
// Do something
}
getCookie
Description:
Returns value of single $_COOKIE array key in dot notation or entire array, with optional default value.
Parameters:
$key = NULL(string|null)$default = NULL(mixed): Default value to return if array key is not found
Returns:
- (mixed)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getCookie());
hasCookie
Description:
Checks if $_COOKIE array key exists in dot notation.
Parameters:
$key(string)
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasCookie('cart_id')) {
// Do something
}
getHeader
Description:
Returns value of single header array key in dot notation or entire array, with optional default value.
Parameters:
$key = NULL(string|null)$default = NULL(mixed): Default value to return if array key is not found
Returns:
- (mixed)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getHeader());
hasHeader
Description:
Checks if header array key exists in dot notation.
Parameters:
$key(string)
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasHeader('Content-Type')) {
// Do something
}
getBody
Description:
Returns content body of a request.
Parameters:
- None
Returns:
- (string)
Example:
use Bayfront\HttpRequest\Request;
print_r(Request::getBody());
hasBody
Description:
Checks if content body of a request exists.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::hasBody()) {
// Do something
}
getUserAgent
Description:
Returns client's user agent.
Parameters:
- None
Returns:
- (mixed): string|null
Example:
use Bayfront\HttpRequest\Request;
echo Request::getUserAgent();
getReferer
Description:
Returns client's referring URL.
Parameters:
- None
Returns:
- (mixed): string|null
Example:
use Bayfront\HttpRequest\Request;
echo Request::getReferer();
getIp
Description:
Returns the most probable IP of client with optional default value.
Parameters:
$default = ''(string): Default IP address to return if none detected
Returns:
- (string)
Example:
use Bayfront\HttpRequest\Request;
echo Request::getIp();
isCli
Description:
Is the request originating from the command line.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isCli()) {
// Do something
}
isJson
Description:
Is the Content-Type header for this request JSON.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isJson()) {
// Do something
}
wantsJson
Description:
Does the Accept header for this request expect JSON.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::wantsJson()) {
// Do something
}
isHttps
Description:
Is connection HTTPS.
Parameters:
- None
Returns:
- (bool)
Example:
use Bayfront\HttpRequest\Request;
if (Request::isHttps()) {
// Do something
}
getRequest
Description:
Returns array containing details of the client's request, or string of a specific part of the request.
Parameters:
$part = ''(string): Which part of the request to return. Leaving this blank will return the entire array.
Valid $part values include any of the PART_* constants:
Requst::PART_METHODRequest::PART_PROTOCOLRequest::PART_HOSTRequest::PART_PATHRequest::PART_QUERYRequest::PART_QUERY_STRINGRequest::PART_URLRequest::PART_FULL_URL
Returns:
- (mixed): array|string
Example:
use Bayfront\HttpRequest\Request;
echo Request::getRequest(Request::PART_URL);
getUrl
Description:
Returns current URL.
Parameters:
$include_query = false(bool): Include the query string, if existing
Returns:
- (string)
Example:
use Bayfront\HttpRequest\Request;
echo Request::getUrl();