mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-03-17 20:54:52 +08:00
68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
# 内部类文件手册
|
||
|
||
这个章节写明了在框架使用过程中可能涉及到的框架内部或 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 ==> [
|
||
"我叫顺溜",
|
||
"我今年二十八"
|
||
]
|
||
*/
|
||
```
|