rosengate/exedra

Nestful 路由导向的 PHP 微框架

v1.0.14 2022-09-17 05:04 UTC

README

Build Status MIT Licence

一个以 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

谢谢!

希望你们喜欢!

许可

MIT 许可证