2017 © Pedro Peláez
 

library psr7-server-request-extension

image

rareloop/psr7-server-request-extension

  • Tuesday, July 17, 2018
  • by rareloop
  • Repository
  • 0 Watchers
  • 0 Stars
  • 7 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

PSR7 ServerRequest Extension

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., (*1)

Install

composer install rareloop/psr7-server-request-extension, (*2)

Create a ServerRequest

Create a subclass of a PSR7 compatible ServerRequest object (e.g. Diactoros) and add the InteractsWithInput and InteractsWithUri traits., (*3)

<?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
}

The Versions