# 内部类文件手册 这个章节写明了在框架使用过程中可能涉及到的框架内部或 Swoole、其他 composer 依赖组件的内部类,这里会根据类的命名空间一一说明。 ## Swoole\Http\Request 此类是 Swoole 内部的一个类,一般在收到 HTTP 请求时,在 `@RequestMapping` 或 `@OnRequestEvent()` 两个注解下可用,用作获取 GET、POST参数,上传到后端的文件、Cookies 等。详见 [Swoole 文档 - Request](http://wiki.swoole.com/#/http_server?id=httprequest) 。 ### 属性 - `$fd`:获取当前连接的文件描述符 ID。 - `$header`:`HTTP` 请求的头部信息。类型为数组,所有 `key` 均为小写。 - `$server`:`HTTP` 请求相关的服务器信息。 - `$cookie`:获取 Cookies。 - `$get`:获取 GET 参数。 - `$post`:获取 POST 参数。 - `$files`:获取上传的文件信息 ### 方法 - `rawContent()`:获取 POST 包原始二进制内容,相当于原生 PHP 的 ` file_get_contents("php://input");` 。 - `getData()`:获取完整的原始 `Http` 请求报文。包括 `Http Header` 和 `Http Body` ### 示例 ```php TODO:先放一放。 ``` ## ZM\Entity\MatchObject 此类是调用方法 `MessageUtil::matchCommand()` 返回的对象体,含有匹配成功与否和匹配到的注解相关的信息。 ### 属性 - `$match`:`bool` 类型,返回匹配是否成功 - `$object`:`CQCommand` 注解类,如果匹配成功则返回对应的 `@CQCommand` 信息 - `match`:`array` 类型,如果匹配成功则返回匹配到的参数 ```php // 假设我有一个注解事件 @CQCommand(match="你好"),绑定的函数是 \Module\Example\Hello 下的 hello123() $obj = MessageUtil::matchCommand("你好 我叫顺溜 我今年二十八", ctx()->getData()); /* 以下是返回信息,仅供参考 $obj->match ==> true $obj->object ==> \ZM\Annotation\CQ\CQCommand: ( match: "你好", pattern: "", regex: "", start_with: "", end_with: "", keyword: "", alias: [], message_type: "", user_id: 0, group_id: 0, discuss_id: 0, level: 20, method: "hello123", class: \Module\Example\Hello::class ) $obj->match ==> [ "我叫顺溜", "我今年二十八" ] */ ```