PHP 组件路由器

v0.0.1 2024-03-08 12:41 UTC

This package is auto-updated.

Last update: 2024-09-08 13:52:58 UTC


README

为 PHP 应用程序提供轻松路由

用于 robertkleinschuster/zenith

Compass 是一个受 NEXT.js 路由简洁性和强大启发而设计的 PHP 路由解决方案。它旨在通过允许开发人员通过简单的目录和文件结构定义路由,来增强 PHP 应用程序,为构建动态 Web 应用程序提供直观的方法。

提升 PHP 路由

Compass 转变了传统的 PHP 路由,提供了一种结构化且灵活的方式来将 URL 映射到应用程序的内容。通过在指定的目录结构中使用简单的 page.phplayout.phpaction.php 文件,开发人员可以轻松地将 URL 路径与特定的 PHP 文件对应起来,简化路由过程并提高可维护性。

快速入门

安装

通过将 Compass 集成到您的 PHP 项目中并通过 Composer 启动您的旅程

composer require robertkleinschuster/compass

创建您的路由

使用 routes 目录组织应用程序的端点。放置 page.php 文件来表示您的路由,以及 layout.php 来表示布局。这些文件应返回由 robertkleinschuster/mosaic 渲染器可渲染的值。

组织您的目录

/routes
    /home
        page.php        # Maps to /home
    /about
        page.php        # Maps to /about
    /products
        page.php        # Maps to /products
        layout.php      # Layout for product overview and details view
        /details
            page.php    # Maps to /products/details
    /layout.php         # Shared layout for your routes

定义内容

每个 page.phplayout.phpaction.php 文件必须返回由 mosaic 渲染器可渲染的值。这确保了应用程序用户界面的无缝集成和一致性。

页面、布局和操作的参数

当访问路由时,相应的 page.phplayout.phpaction.php 文件会带有特定的参数调用。

  • 对于 page.php:函数接收 array $params 用于路由参数和 array $queryParams 用于查询字符串值。它还传递当前的 Route $route 对象。
  • 对于 layout.php:除了 page.php 的所有参数外,此函数还传递 mixed $children,它表示嵌在布局内的内容。对于传递给布局的 Route $route 对象的重要区别是,它不是当前匹配的,而是 layout.php 放置级别的对象。
  • 对于 action.php:函数接收 array $paramsarray $queryParams,类似于 page.php,以处理基于请求的特定操作。此外,它还接收 array $parsedBody

许可证

Compass 在 MIT 许可证下分发。有关更多信息,请参阅 LICENSE。