hunomina/http-router-php

PHP7.1或更高版本Http路由类的实现

1.3.2 2019-03-22 09:31 UTC

This package is auto-updated.

Last update: 2024-09-22 22:31:34 UTC


README

Build Status

描述:PHP7.1或更高版本Http路由类的实现。

此库主要由4个类组成。

Router

Router 类通过调用 request(string $method, string $url) 方法来处理请求,该方法必须返回一个路由动作响应。

可以通过传递一个路由文件和类型(json, yaml... 若要添加新类型,则可扩展)来实例化。

Router::request($method, $url) 方法允许根据方法和URL参数执行基于路由的动作。

示例路由文件请参考 此处

RouteManager

RouteManager 解析路由文件。然后,您可以通过调用 getRoutes() 方法来获取Route对象。

此类是 抽象的,因此您必须扩展它以添加新的路由文件类型(参见 JsonRouteManagerYamlRouteManager 作为一个例子)。

Route

Route 对象由以下属性组成

  • array $_methods : 路由处理的HTTP方法数组
  • string $_url : 路由的URL
  • string $_pattern : 表示路由处理的URL的正则表达式
  • array $_action : 包含两个元素的数组。第一个是类的全名(命名空间由冒号分隔)。第二个是您想为该路由调用的方法名称。在设置动作属性时,您必须传递一个符合此语法的字符串:classname::method。

最后,Route::call() 方法执行路由动作,它必须返回一个 Response 对象。

Response

Response 对象由以下组成

  • array $_headers : HTTP头数组
  • string $_content : 响应内容

此类是 抽象的,因此您必须扩展它以添加新的响应类型