Tool

<br/> >i 本文档的最新修订日期是: > **2022-07-20** # Tool ## 模块简述 一些实用的小功能。 ## 依赖 本模块依赖于PHP拓展 <font color="#c7254e">`cURL`</font> 。 ## :: random()方法 ### 语法 **<font color="#0099ff"><font color="#ff6600">Tool</font> :: <font color="#ff6600">random</font> ( <kbd>传参数组</kbd> )</font>** ### 说明 生成一个随机字符串。 此方法 <font color="#c7254e">`支持`</font> 中文参数名。 ### 参数 * **<font color="#ff6600">`mode(模式)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`'AaN'`</font>: 用以指定所生成字符串的字符 <font color="#c7254e">`构成方式`</font> 。 1. 此参数值中含有 <font color="#c7254e">`A`</font> 时,生成的字符串将含有 <font color="#c7254e">`大写`</font> 字母A-Z; 2. 此参数值中含有 <font color="#c7254e">`a`</font> 时,生成的字符串将含有 <font color="#c7254e">`小写`</font> 字母a-z; 2. 此参数值中含有 <font color="#c7254e">`N`</font> 时,生成的字符串将含有 <font color="#c7254e">`数字`</font> 0-9。 * **<font color="#ff6600">`length(长度)`</font>** <font color="#0099ff">`(Int)`</font> <font color="#BBBBBB">`32`</font>: 用以指定随机字符串的 <font color="#c7254e">`长度`</font> 。 ### 返回 <font color="#0099ff">`(String)`</font> 类型。 返回生成的随机字符串。 >d 虽然字符串为随机生成,但仍有 <font color="#c7254e">`极小概率重复`</font> ,因此 <font color="#c7254e">`不要`</font> 直接使用本方法生成UUID。 ## :: uuid()方法 ### 语法 **<font color="#0099ff"><font color="#ff6600">Tool</font> :: <font color="#ff6600">uuid</font> ( <kbd>传参数组</kbd> )</font>** ### 说明 生成一个几乎不可能会重复的Uuid。 此方法 <font color="#c7254e">`支持`</font> 中文参数名。 ### 参数 * **<font color="#ff6600">`md5(md5)`</font>** <font color="#0099ff">`(Bool)`</font> <font color="#BBBBBB">`FALSE`</font>: 用以指定是否返回符合MD5加密结果格式的字符串。 ## :: getHeader()方法 ### 语法 **<font color="#0099ff"><font color="#ff6600">Tool</font> :: <font color="#ff6600">getHeader</font> ( <kbd>传参数组</kbd> )</font>** ### 说明 获得Header中指定字段的值。 此方法 <font color="#c7254e">`支持`</font> 中文参数名。 ### 参数 * **<font color="#ff6600">`field(字段)`</font>** <font color="#0099ff">`(Array)`</font> <font color="#BBBBBB">`必须`</font>: 用以指定需要获取Header中哪些字段的值。 数组键无需定义,每一个元素的值代表一个需要获取字段的字段名。 ### 返回 <font color="#0099ff">`(Array)`</font> 类型。 由Header中指定字段的值组成的数组,键为字段名,值为Header中对应字段的值。 如果Header中不存在某个指定的字段,那么它 <font color="#c7254e">`不会`</font> 出现在返回的数组中。 ## :: send()方法 ### 语法 **<font color="#0099ff"><font color="#ff6600">Tool</font> :: <font color="#ff6600">send</font> ( <kbd>传参数组</kbd> )</font>** ### 说明 向目标地址发送数据。 此方法 <font color="#c7254e">`支持`</font> 中文参数名。 ### 参数 * **<font color="#ff6600">`url(地址)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`<必须>`</font>: 用以指定向何处发送数据。 * **<font color="#ff6600">`mode(模式)`</font>** <font color="#0099ff">`(String)`</font> <font color="#BBBBBB">`<必须>`</font>: 用以指定以什么方式向远程发送数据。 可选的值如下: ``` GET | POST | PUT | DELETE ``` 当值为 <font color="#c7254e">`POST`</font> 时,Content-Type始终为 <font color="#c7254e">`multipart/form-data`</font> 。 * **<font color="#ff6600">`data(数据)`</font>** <font color="#0099ff">`(Array)`</font> <font color="#BBBBBB">`[]`</font>: 数组的键为字段名,值为字段对应的值,数据会自动进行URL编码。 * **<font color="#ff6600">`file(文件)`</font>** <font color="#0099ff">`(Array)`</font> <font color="#BBBBBB">`[]`</font>: 用以指定所发送的文件。 传入的数组的键为字段名,值为字段对应的文件的路径。 仅在参数 <font color="#c7254e">`Mode`</font> 的值为 <font color="#c7254e">`POST`</font> 时,本参数才有效。 * **<font color="#ff6600">`header(header)`</font>** <font color="#0099ff">`(Array)`</font> <font color="#BBBBBB">`[]`</font>: 用以指定需要发送的Header头,无需定义键,每一个Header中的字段作为一个元素。 * **<font color="#ff6600">`timeout(超时时间)`</font>** <font color="#0099ff">`(Int)`</font> <font color="#BBBBBB">`15`</font>: 用以指定超时时间。 值的单位为秒(s)。 * **<font color="#ff6600">`ssl(ssl)`</font>** <font color="#0099ff">`(Bool)`</font> <font color="#BBBBBB">`FALSE`</font>: 是否进行SSL验证。 当值为 <font color="#c7254e">`FALSE`</font> 时,将跳过SSL验证,但并不安全;当值为 <font color="#c7254e">`TRUE`</font> 时将进行SSL验证。默认进行SSL验证。 ### 返回 <font color="#0099ff">`(String | Bool)`</font> 类型。 当目标地址对请求响应时,会返回String类型的目标地址的响应。 当服务器网络不畅,或目标地址超时响应时,可能返回空字符串或 <font color="#c7254e">`FALSE`</font> 。