robertkleinschuster / compass
PHP 组件路由器
v0.0.1
2024-03-08 12:41 UTC
Requires
- php: ^8.2
- robertkleinschuster/mosaic: v0.0.1
Requires (Dev)
- phpstan/phpstan: ^1.10.21
- phpunit/phpunit: ^10.4.1
README
为 PHP 应用程序提供轻松路由
Compass 是一个受 NEXT.js 路由简洁性和强大启发而设计的 PHP 路由解决方案。它旨在通过允许开发人员通过简单的目录和文件结构定义路由,来增强 PHP 应用程序,为构建动态 Web 应用程序提供直观的方法。
提升 PHP 路由
Compass 转变了传统的 PHP 路由,提供了一种结构化且灵活的方式来将 URL 映射到应用程序的内容。通过在指定的目录结构中使用简单的 page.php
、layout.php
和 action.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.php
、layout.php
或 action.php
文件必须返回由 mosaic 渲染器可渲染的值。这确保了应用程序用户界面的无缝集成和一致性。
页面、布局和操作的参数
当访问路由时,相应的 page.php
、layout.php
或 action.php
文件会带有特定的参数调用。
- 对于
page.php
:函数接收array $params
用于路由参数和array $queryParams
用于查询字符串值。它还传递当前的Route $route
对象。 - 对于
layout.php
:除了page.php
的所有参数外,此函数还传递mixed $children
,它表示嵌在布局内的内容。对于传递给布局的Route $route
对象的重要区别是,它不是当前匹配的,而是layout.php
放置级别的对象。 - 对于
action.php
:函数接收array $params
和array $queryParams
,类似于page.php
,以处理基于请求的特定操作。此外,它还接收array $parsedBody
。
许可证
Compass 在 MIT 许可证下分发。有关更多信息,请参阅 LICENSE。