alanvdb/middleware-dispatcher 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

alanvdb/middleware-dispatcher

最新稳定版本:v1.0.0

Composer 安装命令:

composer require alanvdb/middleware-dispatcher

包简介

A basic PSR compliant middleware dispatcher

README 文档

README

A basic PSR compliant middleware dispatcher.

Overview

The middleware-dispatcher library provides a simple and extensible middleware dispatcher that complies with the PSR-15 standards. It allows you to handle HTTP server requests by processing a stack of middlewares.

Features

  • PSR-15 compliant
  • Simple and easy-to-use API
  • Supports any PSR-15 compatible middlewares
  • Handles exceptions and invalid middlewares gracefully

Installation

To install the middleware-dispatcher library, use Composer:

composer require alanvdb/middleware-dispatcher

Usage

Here is an example of how to use the middleware-dispatcher:

<?php

require 'vendor/autoload.php';

use AlanVdb\Dispatcher\Dispatcher;
use AlanVdb\Dispatcher\Factory\DispatcherFactory;
use Psr\Http\Server\RequestHandlerInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Server\MiddlewareInterface;
use GuzzleHttp\Psr7\ServerRequest;
use GuzzleHttp\Psr7\Response;

class ExampleMiddleware implements MiddlewareInterface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        // Add your middleware logic here
        return $handler->handle($request);
    }
}

$middlewares = [new ExampleMiddleware()];
$factory = new DispatcherFactory();
$dispatcher = $factory->createDispatcher($middlewares);

$request = new ServerRequest('GET', 'https://api.example.com/data');
$response = $dispatcher->handle($request);

echo $response->getBody();

Testing

To run the tests, use PHPUnit. Ensure you have PHPUnit installed and execute the following command:

vendor/bin/phpunit

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the project
  2. Create a branch for your feature (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Ensure your code follows PSR coding standards and includes relevant tests.

License

This project is licensed under the MIT License. See the MIT license file for details.

Issues and Feedback

If you encounter any issues or have feedback, please open an issue on the GitHub repository.

Acknowledgements

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-08-06