pecee/simple-router-demo

简单路由演示项目

5.0 2023-02-25 13:35 UTC

This package is auto-updated.

Last update: 2024-08-25 17:04:13 UTC


README

备注

本项目旨在向您展示如何设置和使用simple-php-router的基本知识。

您可以在以下位置找到simple-php-router的文档:https://github.com/skipperbent/simple-php-router

请注意,此演示项目仅涵盖如何在没有框架的项目中集成simple-router。如果您在项目中使用某些PHP框架,实现可能有所不同。

我们不涵盖的内容

  • 如何设置符合您需求的项目解决方案。这是一个基本的演示,帮助您开始。
  • 对MVC的理解;包括控制器、中间件或异常处理器。
  • 如何将其集成到第三方框架中。

我们涵盖的内容

  • 如何快速启动 - 从零开始。
  • 如何使异常处理器、中间件和控制器正常工作。
  • 如何设置您的Web服务器。

安装

  • 通过运行以下命令使用composer安装simple-php-router库:
composer install
  • 在终端导航到demo-project文件夹并运行composer update以安装最新版本。
  • 将您的Web服务器指向demo-project/public

设置Nginx

如果您使用Nginx,请确保已启用url-rewriting。

您可以通过为演示项目的Nginx配置文件添加以下配置来轻松启用url-rewriting。

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

设置Apache

Apache不需要特殊设置即可正常工作。我们在public文件夹中包含了.htaccess文件。如果您遇到重写问题,请检查Apache配置中是否已启用mod_rewrite模块(htaccess支持)。

文件夹结构

备注

该演示项目有自己的Router类实现,该实现扩展了SimpleRouter类以提供更多功能。此类可以用于在路由发生之前和之后添加所需的功能,或者属于路由本身的额外功能。

在此项目中,我们还使用自定义路由类来自动加载我们自定义位置的routes.php文件(app/routes.php)。

请检查demo-project/app中的routes.php文件以获取项目中所有可用的URL和规则。

CSRF验证器

出于本演示的目的,我们添加了一个名为CsrfVerifier的自定义CSRF验证器中间件,并禁用了对/api/*的所有调用的CSRF检查。这将确保在调用我们的演示API URL时不会应用CSRF表单检查。

异常处理器

包含的CustomExceptionHandler类为对/api/*的调用返回一个非常基本的JSON响应,或者只是一个简单的格式化错误响应。

中间件

ApiVerification类被添加到所有对/api/*的调用中。这个简单的类只是向Request对象添加一些数据,这些数据在ApiController类的方法中返回。我们添加了这个类来演示您可以使用中间件来确保用户拥有正确的身份验证 - 在路由器加载控制器本身之前。

URL

请查看routes.php以获取所有路由和规则。

MIT许可证(MIT)

版权所有(c)2016 Simon Sessingø / simple-router

本软件及其相关文档文件(以下简称“软件”)的使用、复制、修改、合并、发布、分发、再许可和/或销售副本的权利,以及允许获得软件副本的人进行此类操作,特此免费授予,不受任何限制,但受以下条件约束:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任承担责任,无论该责任是在合同行为、侵权或其他行为中产生,还是与软件或其使用或其他操作相关。