>eapi内置提供了一系列常用的函数
<br/>
## fail - 输出错误信息
~~~
// @param 错误码
// @param 错误描述信息
fail(101, '错误说明');
~~~
</br>
## json - 输出json数据
~~~
// @param code码,默认为100
// @param 描述信息,默认为执行成功
// @param 返回的数据
json(100, '用户信息获取成功', [
'uid' => 1,
'nickname' => 'eapi'
]);
// 如果不需要指定code码和msg信息,则可以使用以下写法简化
json([
'uid' => 1,
'nickname' => 'eapi'
]);
~~~
<br/>
## random - 生成随机字符串
~~~
// @param 随机串类型
// |-numletter:数字字母(默认)
// |-num:仅数字
// |-numnozero:仅数字但是不包括0
// |-letter:仅字母
// @param 随机串长度,默认4
echo random('num', 4);
~~~
## encode - 字符串加密
~~~
// @param 待加密字符串
echo encode('eapi');
~~~
<br/>
## decode - 字符串解密
~~~
// @param 待解密字符串
echo decode('ZOWTFIw3aYQT@||@B@||@j');
~~~
<br/>
## isInt - 安全的判断数字类型
~~~
// @ param 待判断的内容
if (isInt(1)) echo '数字';
~~~
<br/>
## conf - 操作配置内容
~~~
// @param 配置KEY,默认为空,表示获取所有配置
// @param 配置内容,默认为null,不为null则表示需要修改的配置内容
// 获取所有配置
$conf = conf();
print_r($conf);
// 获取MYSQL配置
$conf = conf('MYSQL');
print_r($conf);
// 修改配置项内容
conf('DEFAULT', 'eapi');
echo conf('DEFAULT');
~~~
<br/>
## logs - 写入文件日志
~~~
// @param 日志内容,如果传递数据,则会自动json_encode后保存到日志文件中
// @param 日志目录,默认为 default
logs('测试日志');
// 下面的例子会在:eapi/runtime/log/eapi 目录下生成日志文件
logs('日志保存到eapi目录下', 'eapi');
~~~
<br/>
## cache - 操作缓存
~~~
// @param 缓存key
// @param 缓存内容,如果传数组,则会json_encode后存入缓存
// @param 缓存过期时间,单位秒
// 读取缓存
cache('cache');
// 写入缓存
cache('cache', 'cache', 600);
// 删除缓存
cache('cache', null);
// 写入数组缓存
cache('cache', [
'id' => 1
]);
~~~
<br/>
## get - 获取GET参数
~~~
// GET参数已经过安全过滤,可以放心使用
// @param key
// @param 默认值,在没有找到key时返回默认值
get('id');
// 带默认值
get('id', 1);
// get参数支持pathinfo模式,例如:http://localhost/api/index/uid/1/name/eapi/
$uid = get('uid');
$name = get('name');
~~~
<br/>
## post - 获取POST参数
~~~
// POST参数已经过安全过滤,可以放心使用
// @param key
// @param 默认值,在没有找到key时返回默认值
post('id');
// 带默认值
post('id', 1);
~~~
<br/>
## httpHeader - 获取HEADER头参数
~~~
// @param key
// @param 默认值,在没有找到key时返回默认值
httpHeader('id');
// 带默认值
httpHeader('id', 1);
~~~
<br/>
## formatTime - 格式化时间为优化的模式
~~~
// @param 待格式化的时间,支持时间戳和年月日时分秒模式
// @param 年月日时分秒的格式化
echo formatTime(time(), 'Y/m/d');
// 格式化规则说明
< 60秒显示:刚刚
< 一小时显示:xx分钟前
< 一天显示:xx小时前
< 七天显示:xx天前
超过7天,按照第二个参数格式化时间后显示
~~~
<br/>
## arrayInt - 格式化数组中的数字为int类型
~~~
// 说明:从redis中取出的字段会全部作为string类型,在接口返回时不友好
// @param 待格式化的数组
// @param 排除的字段
arrayInt($array, [
'name', 'intro'
]);
~~~
<br/>
## getIp - 获取客户端IP
~~~
echo getIp();
~~~
<br/>
## createJwt - 根据用户ID生成JWT信息
~~~
$jwt = createJwt($uid);
~~~
<br/>
## createUUID - 根据用户ID生成JWT信息
~~~
$uuid = createUUID($uid);
~~~
<br/>
## orderNum - 生成不重复的流水订单号
~~~
echo orderNum();
~~~
<br/>
## createIndex - 生成唯一索引
~~~
echo createIndex();
~~~
<br/>
## jsonDecode - 带抛出异常的json解析
~~~
try{
jsonDecode($json);
} catch(\Exception $e){
echo $e;
}
~~~
## safe - 内容安全格式
~~~
// 第一个参数为需要安全处理的内容,第二个参数是处理模式
safe('13888888888', 'phone');
~~~
## getDoc - 获取文件扩展名
~~~
$doc = getDoc($file);
~~~
## priceToUpper - 金额转大写
~~~
// 第一个参数是需要转换的金额,第二个参数是否需要转化角、分,默认不转,传0表示需要转
$money = priceToUpper($amount, 0);
~~~
## validate - 数据验证
~~~
validate($input, 'require', '参数不能为空');
~~~