库中定义了基于yii2框架的配置文件、数据库、加密、OSS、Redis、参数校验、状态码,以及数组、字符串、金额、图片和时间等常用的工具类。
composer require yiqiang3344/yii2-lib
可以以点连接的方式按数据类型读取Yii::$app->params
中的参数。
比如:
//params.php
return [
'env' => [
'name' => 'test'
],
];
echo Config::getString('env.name'); //输出为 test
方便自定义的获取数据库实例使用;提供闭包形式的事务方法。
db中配置了credit_db数据库,则可以继承DB
类,然后添加credit_db()
方法来获取数据库连接实例。
DB
中默认实现了获取db连接实例的方法default()
。
/**
* 默认DB
* @return \yii\db\Connection
*/
public static function default()
{
$db = \Yii::$app->db;
return $db;
}
闭包形式的事务方法。
return DB::transaction(function (){
DB::default()->createCommand('select id from User where id=1 for update')->execute();
//...
return true;
});
提供aes-128-cbc
的加密、解密和加签方法。
提供OPENSSL_ALGO_SHA256
的加密、解密、加签和验签方法。
统一配置的阿里云OSS封装类,提供获取oss实例、上传、下载、删除、获取访问地址方法。
统一配置的Redis封装类,需要使用其他配置,只需集成此类,并重写$redisName
属性。
统一使用checkParams(&$params, $needParams)
方法来校验输入参数,
支持的参数类型参见$builtInValidators
列表,且可自行扩展。
获取标准格式化金额,单位元,两位小数点 format($amount)
数字转大写的金额 num2rmb($number = 0, $intUnit = '圆', $isRound = true, $isExtraZero = false)
把数组转为key-value格式 listMap(array $array, $key, $columns = null)
复制一个数组中指定列的数组 cpList(array $array, array $columns)
复制数组中的指定列 cp($item, array $columns)
可以使用success($data = [])
或failed($code, $subMessage = '', $data = [])
来统一输出响应结果。
只需要在controller中return CodeMessage::success();
即可。
响应状态码在$codeMap
中定义,
默认正常响应码为1,异常响应码-1,
各应用可继承此类来定义各自应用的响应状态码。
获取base64格式的图片 base64EncodeImage($image_file)
驼峰转横杠式 humpToBar($string)
遮盖名称 coverName($string)
用星星这个指定范围 coverWithStar($string, $start, $length)
遮盖字符串的制定范围 cover($string, $start, $length, $mask = '*', $isUtf8 = false)
获取秒级时间戳 time()
获取日期 now($time = null)
获取带毫秒的日期 nowWithMicros()
获取毫秒时间戳 getMicrotime()
获取指定月份后的当前日期 getNexMonthDay($num = 1, $date = null)
获取当前日期星期几的中文名 getDayOfWeek($time)
当前时间与指定日期相差天数 getSubDayFromToday($defaultDay = '2015-01-22')
获取指定时间戳的当日的开始时间 getDailyStartTime($time = null)
获取指定时间戳的当天的截止时间 getDailyEndTime($time = null)
获取3位毫秒小数的浮点型时间戳 getFloatMicroTime()