rosengate / exedra
Nestful 路由导向的 PHP 微框架
v1.0.14
2022-09-17 05:04 UTC
Requires
- psr/http-message: ~1.0
Requires (Dev)
- phpunit/phpunit: ^4.6 || ^5.0
- symfony/console: ~3.0
Suggests
- symfony/console: For some console helper commands (~3.0)
README
一个以 Nestful 路由为导向的 PHP 微框架。
简介
这个 PHP 微框架专注于可嵌套/可分组的 URI 路径/片段基于的路由,允许您通过 URI 路由来原型化您的应用程序,同时不失去对其深度的控制。路由是唯一的且可以通过名称、标签识别,可以通过请求分发或 URL 工厂中的查找来查询。除了嵌套路由外,还有可中间件的路由组,以提供更多对应用程序设计的控制。
目标是具有上下文、明确性,同时简单且极端最小化。它可以作为一个辅助框架,用于您的现有应用程序。
特性
- 可嵌套路由
- 最小化、上下文化、灵活、无组件依赖
- 基于注解的路由-操作控制器(可选)
- 为 Psr7 Http 消息构建的路由组件
- Psr7 中间件支持
- 基于容器
- 显式依赖注入(非自动绑定)
文档
更多详细文档和安装信息可以在 http://exedra.rosengate.com/docs 找到。
安装
composer require rosengate/exedra
示例
这只是快速测试 exedra 的一个示例。
创建一个包含以下内容的 index.php 文件。
<?php use Exedra\Routing\Group; use Exedra\Runtime\Context; use Exedra\Application; require_once __DIR__ . '/vendor/autoload.php'; $app = new Application(__DIR__); $app->map['web']->any('/hello')->group(function (Group $group) { $group->middleware(function (Context $context) { return strtoupper($context->next($context)); }); $group['welcome']->get('/:name')->execute(function (Context $context) { return 'Hello ' . $context->param('name'); }); }); $app->dispatch();
然后在同一目录下运行一个简单的 web 服务器。
php -S localhost:9000
然后打开您的浏览器,输入 https://:9000/hello/world 来获取您的 HELLO WORLD。
有关更详细的设置,请参阅文档 http://exedra.rosengate.com/docs。
谢谢!
希望你们喜欢!