codingculture/request-resolver-bundle

结合symfony OptionsResolver和Requests的强大功能,为您创建一个简洁的请求API

安装数: 11,934

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 2

公开问题: 1

类型:symfony-bundle

3.0.2 2024-03-27 10:04 UTC

This package is auto-updated.

Last update: 2024-09-27 11:10:35 UTC


README

Build Status Codacy Badge Latest Stable Version Total Downloads

这个Symfony扩展试图使请求断言变得更简单。

此扩展仍在开发中。

仅支持PHP7.1及以上。

使用方法

<?php

...

class SomeController extends Controller
{
    public function someAction()
    {
        $request = $this->get('codingculture.requestresolver.resolver')->resolve(new SomeRequest());
        
        $request->getId();
    }
}
<?php

...

final class SomeRequest implements ResolvableRequestInterface
{
    private $options = [];
    
    public function getId(): string
    {
        return $this->options['id'];
    }

    public function defineOptions(OptionsResolver $resolver): OptionsResolver
    {
        $resolver->setRequired('id')
    }
    
    public function setOptions(array $options)
    {
        $this->options = $options;
    }
    
    public function getContentType(): string
    {
        return RequestResolver::CONTENT_TYPE_ALLOW_ALL;
    }
}

如果用户发送了一个无效的请求,在resolve方法上将会抛出InvalidArgumentException(或其扩展)异常。

待办事项

  • 编写更好的文档