定制 webservco/http 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

webservco/http

最新稳定版本:v1.0.0

Composer 安装命令:

composer require webservco/http

包简介

A PHP component/library.

README 文档

README

A minimalist PHP PSR implementation.

Implements

Provides

  • psr/http-factory-implementation
  • psr/http-message-implementation

Troubleshooting

php-http/discovery

If using a project/library that requires php-http/discovery, a list of 9 "well-known" implementations is forced.

Workaround to install custom implementations of your choice:

  1. Create custom strategy - implement Http\Discovery\Strategy\DiscoveryStrategy:
<?php

declare(strict_types=1);

namespace Project\Factory\Http\Discovery;

use Http\Discovery\Strategy\DiscoveryStrategy;
use Psr\Http\Message\RequestFactoryInterface;
use Psr\Http\Message\StreamFactoryInterface;
// A RequestFactoryInterface implementation of your choice:
use WebServCo\Http\Factory\Message\Request\RequestFactory;
// A StreamFactoryInterface implementation of your choice: 
use WebServCo\Http\Factory\Message\Stream\StreamFactory;

final class Psr17DiscoveryStrategy implements DiscoveryStrategy
{
    /**
     * @inheritDoc
     * @param string $type
     * @return array<array<string, string>>
     */
    public static function getCandidates($type)
    {
        if ($type === RequestFactoryInterface::class) {
            return [
                [
                    'class' => RequestFactory::class,
                ],
            ];
        }

        if ($type === StreamFactoryInterface::class) {
            return [
                [
                    'class' => StreamFactory::class,
                ],
            ];
        }

        return [];
    }
}
  1. Use custom strategy:
use Http\Discovery\ClassDiscovery;
use Project\Factory\Http\Discovery\Psr17DiscoveryStrategy;

// Before instantiating the class that uses `php-http/discovery`
ClassDiscovery::prependStrategy(Psr17DiscoveryStrategy::class);

统计信息

  • 总下载量: 421
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-07-02