其他工具

优质
小牛编辑
133浏览
2023-12-01

hash工具,主要用来计算字符串的hash值。提供三种hash算法, BKDR, JS, DJP. 根据需要自行选择

方法名方法说明
BKDRHash采用bkdr算法计算hash值
JSHash采用js算法计算hash值
DJPHashDJP hash 算法,冲突率低,但是算法比较复杂,效率不是很高。

AjaxResult

用来返回json视图。提供了以下API:

ajaxSuccessResult()

返回一个带有默认返回信息的成功的json视图

ajaxFailtureResult()

返回一个带有默认返回信息的失败的json视图

ajaxResult($code, $message, $data=array())

返回一个自定义提示信息的json视图

参数名称参数类型参数说明
$codestring|int返回错误代码, 000 表示成功, 001 表示失败
$messagestring返回信息
$dataarray返回的数据

isSuccess()

判断操作结果是否成功

class DemoAction extends CommonAction {

    //返回json视图
    public function index(HttpRequest $request) {

        $model = Loader::model('User');
        $list = $model->getItems();

        AjaxResult::ajaxResult(OP_SUCCESS, '获取数据成功!', $list);
    }

    //作为http API的返回结果vo
    public function getUser() {
        $res = APIClient::send($url, $params);
        if ( $res->isSuccess() ) {
            return $res->getData();
        } else {
            return $res->getMessage();
        }
    }
}

ModelTransformUtils

模型转换工具,把基本实体对象转成Hash数组,或者把Hash数组转为实体对象

map2Model($class, $map) 将map 转换为数据模型

  • $class 模型类名称(带命名空间)
  • $map 待转换的 map

model2Map($model) 模型对象转为map

$map = array('id' => 1, 'username' => 'xiaoming', 'mobile' => '18654325787');
$user = ModelTransformUtils::map2Model('user\models\User', $map);

$map = ModelTransformUtils::model2Map($user);

需要注意的是,这个转换工具仅限于模型的属性是基本数据类型,如果模型的属性是对象或者是数组,则不能用此工具转换

Log

这是一个简单的日志工具,用来记录错误日志,或者调试信息的。因为线上你是不能抛出异常的,而nginx记录的日志可操作性有限。Log 提供2个方法

Log::info($message, $logFile='') 记录提示信息 Log::error($message, $logFile='') 记录错误信息

参数名称参数类型参数说明
$messagemixed消息内容,可以是字符串,数组,普通对象,或者是异常对象
$logFilestring日志文件名称,如果没有指定, 则记录到默认的日志文件