middlewares / csv-payload
用于解析请求 CSV 体的中间件
dev-master
2020-12-01 19:48 UTC
Requires
- php: ^7.2 || ^8.0
- league/csv: ^9.0
- middlewares/payload: ^1.0
- middlewares/utils: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8|^9
- squizlabs/php_codesniffer: ^3.0
- zendframework/zend-diactoros: ^1.3
This package is auto-updated.
Last update: 2024-08-29 04:54:21 UTC
README
扩展 middlewares/payload 以支持解析请求的 CSV 主体。
需求
- PHP >= 7.0
- 一个 PSR-7 http 消息实现(Diactoros,Guzzle,Slim 等...)
- 一个 PSR-15 中间件调度器
安装
此软件包可通过 Composer 以 middlewares/csv-payload 的方式安装和自动加载。
composer require middlewares/csv-payload
CsvPayload
解析请求的 CSV 主体。使用 league/csv 读取 CSV 值。包含以下选项来配置 CSV Reader
对象
delimiter($delimiter)
配置 CSV 分隔符控制字符(仅一个字符)。如果提交的字符无效,则抛出 InvalidArgumentException
异常。
enclosure($enclosure)
配置 CSV 封闭控制字符(仅一个字符)。如果提交的字符无效,则抛出 InvalidArgumentException
异常。
escape($escape)
配置 CSV 转义控制字符(仅一个字符)。如果提交的字符无效,则抛出 InvalidArgumentException
异常。
header($header)
配置 CSV 标题行。如果提交的标题值小于 0,则抛出 InvalidArgumentException
异常。
methods(array $methods)
配置允许的方法。默认情况下,仅处理方法为 POST, PUT, PATCH, DELETE, COPY, LOCK, UNLOCK
的请求。
contentType(array $contentType)
配置请求中使用的所有 Content-Type 头。默认为 text/csv
override($override = true)
如果存在,则覆盖先前解析的正文(默认为 false
)
$dispatcher = new Dispatcher([ (new Middlewares\CsvPayload()) ->delimiter(";") ->enclosure("'") ->escape("\\") ]); $response = $dispatcher->dispatch(new ServerRequest());
有关最近更改的更多信息,请参阅 CHANGELOG,有关贡献详细信息,请参阅 CONTRIBUTING
MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE