ghostwriter / http
PHP 的 HTTP 客户端和服务端抽象。
dev-main
2024-07-17 19:48 UTC
Requires
- php: >=8.3
- ext-curl: *
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- ghostwriter/coding-standard: dev-main
- ghostwriter/psalm-plugin: ^0.2.0
This package is auto-updated.
Last update: 2024-09-17 20:12:42 UTC
README
PHP 的 HTTP 客户端和服务端抽象。
警告
此项目尚未完成,正在开发中。
安装
您可以通过 composer 安装此包
composer require ghostwriter/http
用法
$router = new Router(); $router->addRoute('GET', '/', HomeHandler::class, [GuestMiddleware::class]); $router->get('/about', AboutHandler::class, [GuestMiddleware::class]); $router->get('/auth/github', GitHubLoginHandler::class, [GuestMiddleware::class], 'auth.login.github'); // create, read, edit, update, store, delete, view, show $router->middleware([GuestMiddleware::class], function($router){ $router->get('/auth/login', LoginCreateHandler::class, 'auth.login.create'); $router->post('/auth/login', LoginStoreHandler::class, 'auth.login.store'); $router->get('/auth/register', RegisterCreateHandler::class, 'auth.register.create'); $router->post('/auth/register', RegisterStoreHandler::class, 'auth.register.store'); $router->get('/posts', PostIndexHandler::class, 'members.index'); $router->get('/posts/{post:id}', PostShowHandler::class, 'members.show'); }); $router->middleware([AuthMiddleware::class], function($router){ $router->get('/users', MembersIndexHandler::class, 'members.index'); $router->get('/users/{member:id}', MemberShowHandler::class, 'members.show'); $router->get('/posts/create', PostCreateHandler::class, 'members.create'); $router->post('/posts', PostStoreHandler::class, 'members.store'); $router->get('/posts/{post:id}/edit', PostEditHandler::class, 'members.edit'); $router->put('/posts/{post:id}', PostUpdateHandler::class, 'members.update'); $router->delete('/posts/{post:id}', PostDeleteHandler::class, 'members.delete'); }); $request = new ServerRequest(); $server = new Server($router); // RequestHandler $server->handle($request); // Response
变更日志
请参阅 CHANGELOG.md 了解最近的变化。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 nathanael.esayeas@protonmail.com
或创建一个 安全咨询,而不是使用问题跟踪器。
许可证
BSD-3-Clause 许可证。有关更多信息,请参阅 许可证文件。