charm / dispatcher
创建PSR-7服务器请求,用于从Web服务器、ReactPHP、Swoole或命令行处理PSR-15服务器请求处理器和中间件。
0.0.9
2021-07-16 15:10 UTC
Requires
- charm/error: ^0
- nyholm/psr7: ^1.4
- nyholm/psr7-server: ^1.0
- psr/http-factory: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- f2/asserty: ^1.0
README
创建一个实现 Psr\Http\Server\RequestHandlerInterface
的应用程序,并运行它
<?php
use Psr\Http\Server\RequestHandlerInterface;
use function Charm\serve;
class HelloWorldApp implements RequestHandlerInterface {
/**
* Responds with "Hello World from /whatever/path"
*/
public function handle(ServerRequestInterface $request): ResponseInterface {
return $this->createResponse(200)->withBody($this->createStream("Hello World from ".$request->getRequestTarget()));
}
}
// Serve via HTTP or command line
serve(new MyApp());
现在您可以通过Web和命令行访问您的应用程序
# php myapp.php
Hello World from /
# php myapp.php users 123
Hello World from /users/123
# php myapp.php users --email "you@example.com"
Hello World from /users?email=you@example.com
# curl https://myserver.php/users?email=you@example.com
Hello World from /users?email=you@example.com