germania-kg/mergequery_urifactory

合并查询参数的URI工厂装饰器

1.0.3 2021-01-11 13:39 UTC

This package is auto-updated.

Last update: 2024-09-11 22:07:33 UTC


README

Germania KG · MergeQueryUriFactory

Packagist PHP version Build Status Scrutinizer Code Quality Code Coverage Build Status

安装

$ composer require germania-kg/mergequery_urifactory

用法

MergeQueryUriFactoryDecorator 为任何给定的PSR-17 UriFactory添加了一个 createUriMergeQuery 方法。它本身也实现了 Psr\Http\Message\UriFactoryInterface,也可以用作 callable

createUriMergeQuery 方法接受 stringUriInterface 类型的URI。

<?php
use Germania\MergeQueryUriFactory\MergeQueryUriFactoryDecorator;
use Nyholm\Psr7\Factory\Psr17Factory;  

$decoratee = new Psr17Factory();
$uri_factory = new MergeQueryUriFactoryDecorator( $decoratee );

// You know the UriFactoryInterface:
$uri = $uri_factory->createUri( 'http://httpbin.org' );

// Programmatically merge query parameters,
// either to a string or UriInterface:
$uri2 = $uri_factory->createUriMergeQuery( 'http://httpbin.org', ['foo' => 'bar']);
$uri3 = $uri_factory->createUriMergeQuery( $uri, ['foo' => 'bar']);

echo $uri3;
// http://httpbin.org?foo=bar