weew / http-blueprint
非常基础的蓝图服务器,用于API原型设计。
v2.1.0
2016-07-27 05:14 UTC
Requires
- weew/http: ^1.11
- weew/http-server: ^1.1
- weew/router: ^2.8
Requires (Dev)
- phpunit/phpunit: ^4.7
- satooshi/php-coveralls: ^0.6.1
README
目录
安装
composer require weew/http-blueprint
简介
这个小巧的包允许你轻松启动一个服务器,可能在单元测试期间使用。它由两部分组成,服务器和代理。服务器负责启动和停止http服务器。代理主要负责获取所有已注册的路由,确定应该调用哪个路由并返回一个http响应。
这个包主要是为测试http层和http客户端而构建的,在这些测试中,我无法简单地模拟端点,而必须实际测试整个http通信以及生成的请求和响应。但最终我认为这是一个非常有用的包,也可能在其他地方得到应用。
创建蓝图
创建一个文件作为你的蓝图。在那里注册你的路由。让代理做其他的事情。
// file: blueprint.php // create a proxy $proxy = new BlueprintProxy(); // register all of your routes $proxy->getRouter() ->get('/', 'hello world') ->get('about', new HttpResponse(HttpStatusCode::OK, 'foo')) ->post('post', function() { return 'hello world'; }) ->put('users/{id}', function(IHttpRequest $request, array $parameters) { return new HttpResponse(HttpStatusCode::OK, $parameters['id']); }); // send a response $proxy->sendResponse();
启动和停止服务器
这非常简单。只需传入主机名、你希望使用的端口以及你创建的蓝图文件的路径。
$server = new BlueprintServer('localhost', 9000, '/path/to/blueprint.php'); $server->start();
完成后,只需停止服务器。
$server->stop();