rareloop / psr7-server-request-extension
Installs: 128 487
Dependents: 2
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- psr/http-message: ^1.0
Requires (Dev)
- brain/monkey: ^2.0.2
- codedungeon/phpunit-result-printer: ^0.4.4
- laminas/laminas-diactoros: ^2.4
- mockery/mockery: ^1.0.0
- phpunit/phpunit: ^6.0
- satooshi/php-coveralls: ^1.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-11-29 01:47:49 UTC
README
Provides traits that add utility functions to a PSR7 ServerResponse
subclass that make it easier to interact with the URI and input. Inspired by the API of Laravel.
Install
composer install rareloop/psr7-server-request-extension
Create a ServerRequest
Create a subclass of a PSR7 compatible ServerRequest
object (e.g. Diactoros) and add the InteractsWithInput
and InteractsWithUri
traits.
<?php namespace App; use Rareloop\Psr7ServerRequestExtension\InteractsWithInput; use Rareloop\Psr7ServerRequestExtension\InteractsWithUri; use Zend\Diactoros\ServerRequest; class MyServerRequest extends ServerRequest { use InteractsWithInput, InteractsWithUri; }
Usage
Get the path
$request->path();
Get the URL
$request->url(); // e.g. http://test.com/path $request->fullUrl(); // e.g. http://test.com/path?foo=bar
Get all query params
$request->query();
Get a specific query param
$request->query('name'); $request->query('name', 'Jane'); // Defaults to "Jane" if not set
Get all post params
$request->post();
Get a specific post param
$request->post('name'); $request->post('name', 'Jane'); // Defaults to "Jane" if not set
Get all input params
$request->input();
Get a specific input param
$request->input('name'); $request->input('name', 'Jane'); // Defaults to "Jane" if not set
Does the request have a specific input key?
if ($request->has('name')) { // do something } if ($request->has(['name', 'age'])) { // do something if both 'name' and 'age' are present }