ray/psr7-module

PSR7 module for Ray.Di

1.3.1 2024-01-05 01:04 UTC

This package is auto-updated.

Last update: 2024-12-05 03:02:06 UTC


README

Code Coverage Continuous Integration

Overview

Ray.Psr7Module provides RequestProvider to get the PSR7 ServerRequest object.

Installation

Composer install

$ composer require ray/psr7-module

Module install

use Ray\Di\AbstractModule;
use Ray\Psr7Module;

class AppModule extends AbstractModule
{
    protected function configure()
    {
        $this->install(new Psr7Module);
    }
}

Usage

ServerRequest (general)

class Foo
{
    public function __construct(ServerRequestInterface $serverRequest)
    {
        // retrieve cookies
        $cookie = $serverRequest->getCookieParams(); // $_COOKIE
    }
}

URI

use Psr\Http\Message\UriInterface;

class Foo
{
    public function __construct(UriInterface $uri)
    {
        // retrieve host name
        $host = $uri->getHost();
    }
}

Upload Files

use Psr\Http\Message\UploadedFileInterface;
use Ray\HttpMessage\Annotation\UploadFiles;

class Foo
{
    /**
     * @UploadFiles
     */
    public function __construct(array $files)
    {
        // retrieve file name
        $file = $files['my-form']['details']['avatar'][0]
        /* @var UploadedFileInterface $file */
        $name = $file->getClientFilename(); // my-avatar3.png
    }
}