承接 akrabat/rka-content-type-renderer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

akrabat/rka-content-type-renderer

最新稳定版本:2.0

Composer 安装命令:

composer require akrabat/rka-content-type-renderer

包简介

Render an array to a JSON/XML/HTML PSR-7 Response based on a PSR-7 Request's Accept header.

README 文档

README

Render an array (or HAL object) to a JSON/XML/HTML PSR-7 Response based on a PSR-7 Request's Accept header.

Build status

Installation

composer require akrabat/rka-content-type-renderer

Usage

// given:
// $request instanceof Psr\Http\Message\RequestInterface
// $response instanceof Psr\Http\Message\ResponseInterface

$data = [
    'items' => [
        [
            'name' => 'Alex',
            'is_admin' => true,
        ],
        [
            'name' => 'Robin',
            'is_admin' => false,
        ],
    ],
];
$renderer = new RKA\ContentTypeRenderer\Renderer();
$response  = $renderer->render($request, $response, $data);
return $response->withStatus(200);

The constructor takes a parameter, $pretty that defaults to true. Set to false to disable pretty printing.

HalRenderer

This component also supports nocarrier/hal objects with the HalRenderer:

$hal = new Nocarrier\Hal(
    '/foo',
    [
        'items' => [
            [
                'name' => 'Alex',
                'is_admin' => true,
            ],
            [
                'name' => 'Robin',
                'is_admin' => false,
            ],
        ],
    ]
);
$renderer = new RKA\ContentTypeRenderer\HalRenderer();
$response  = $renderer->render($request, $response, $hal);
return $response->withStatus(200);

ApiRenderer

This component also supports crell/ApiProblem objects with the ApiProblemRenderer:

$problem = new Crell\ApiProblem("Something unexpected happened");
$renderer = new RKA\ContentTypeRenderer\ApiProblemRenderer();
$response  = $renderer->render($request, $response, $problem);
return $response->withStatus(500);

Arrays of objects

If you have an array of objects, then the renderer will still work as long as the objects implement PHP's JsonSerializable interface.

Testing

  • Code style: $ phpcs
  • Unit tests: $ phpunit
  • Code coverage: $ phpunit --coverage-html ./build

统计信息

  • 总下载量: 422.78k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 40
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 40
  • Watchers: 4
  • Forks: 10
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-10-11