ray/http-message

Ray.Di 的 PSR7 模块

1.3.1 2024-01-05 01:04 UTC

This package is auto-updated.

Last update: 2024-09-05 02:33:20 UTC


README

Code Coverage Continuous Integration

概览

Ray.Psr7Module 提供了 RequestProvider 来获取 PSR7 ServerRequest 对象。

安装

Composer 安装

$ composer require ray/psr7-module

模块安装

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

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

使用方法

ServerRequest(通用)

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();
    }
}

上传文件

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