dbeurive / slim-requester
本包包含一个工具,允许您通过绕过WEB服务器来对您的Slim应用程序进行请求。
1.0.2
2017-01-13 18:57 UTC
Requires
- slim/slim: ^3.0
Requires (Dev)
- dbeurive/slim-phpunit: *
- phpunit/phpunit: >=5.5.0
This package is not auto-updated.
Last update: 2024-09-23 14:49:37 UTC
README
简介
本包包含一个“请求者”,用于Slim框架。
请求者允许您在不使用WEB服务器的情况下对您的Slim应用程序进行请求。这特别适用于您想要自动化单元测试时。实际上,当您正在测试应用程序的逻辑时,您不希望测试WEB服务器的配置。
请注意,由于将添加新功能,因此此包仍在开发中。
许可证
以下许可证下发布此代码
请参阅文件 LICENSE.TXT
安装
从命令行
composer require dbeurive/slim-requester
或者,在文件 composer.json
中
"require": {
"dbeurive/slim-requester": "*"
}
摘要
创建Slim应用程序
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ResponseInterface as Response; use dbeurive\Slim\Requester; // Create your Slim application $configuration = array(/* your configuration */); $application = new \Slim\App($configuration); $application->get('/get/{name}', function (Request $request, Response $response) { $name = $request->getAttribute('name'); $response->getBody()->write("Hello, $name"); return $response; }); $application->post('/post', function (Request $request, Response $response) { $data = $request->getParsedBody(); $firstName = filter_var($data['firstname'], FILTER_SANITIZE_STRING); $lastName = filter_var($data['lastname'], FILTER_SANITIZE_STRING); $response->getBody()->write("Hello, $firstName $lastName"); return $response; }); // Create the requester $requester = new Requester($application); // And then you can perform requests: $text = $requester->get('/get/toto'); $parameters = ['firstname' => 'Mickey', 'lastname' => 'Mouse']; $text = $requester->post('/post', $parameters); $response = $requester->getResponse();
API
\dbeurive\Slim\Requester::__construct(App $inApplication)
\dbeurive\Slim\Requester::get($inRequestUri, $inQueryString='')
\dbeurive\Slim\Requester::post($inRequestUri, $inPostParameters=[])
\dbeurive\Slim\Requester::jsonRpc($inRequestUri, $inParameters=[])
\dbeurive\Slim\Requester::setServerCgiEnvironmentVariables(array $inServerCgiEnvironmentVariables, $inMerge=false)
\dbeurive\Slim\Requester::setHttpHeaders(array $inHttpHeaders, $inMerge=false)
\dbeurive\Slim\Requester::getResponse()
\dbeurive\Slim\Requester::getRequest()
请参阅文件 Requester.php 以获取API的详细描述。
示例
请参阅单元测试以获取示例。
以下文件创建应用程序
- index.php:此文件是应用程序的入口点。
以下三个文件实现了单元测试
- AppInit.php:此文件创建应用程序并初始化请求者。
- GetTest.php
- JsonRpcTest.php
- PostTest.php