dbeurive/slim-requester

本包包含一个工具,允许您通过绕过WEB服务器来对您的Slim应用程序进行请求。

1.0.2 2017-01-13 18:57 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:49:37 UTC


README

简介

本包包含一个“请求者”,用于Slim框架

请求者允许您在不使用WEB服务器的情况下对您的Slim应用程序进行请求。这特别适用于您想要自动化单元测试时。实际上,当您正在测试应用程序的逻辑时,您不希望测试WEB服务器的配置。

请注意,由于将添加新功能,因此此包仍在开发中。

许可证

以下许可证下发布此代码

知识共享署名4.0国际公共许可证

请参阅文件 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:此文件是应用程序的入口点。

以下三个文件实现了单元测试