1
This commit is contained in:
60
vendor/topthink/think-helper/README.md
vendored
60
vendor/topthink/think-helper/README.md
vendored
@@ -29,64 +29,4 @@ Str::length($value)
|
||||
// 截取字符串
|
||||
Str::substr($string, $start, $length = null)
|
||||
|
||||
```
|
||||
|
||||
## Hash
|
||||
> 创建密码的哈希
|
||||
|
||||
```
|
||||
// 创建
|
||||
Hash::make($value, $type = null, array $options = [])
|
||||
|
||||
// 检查
|
||||
Hash::check($value, $hashedValue, $type = null, array $options = [])
|
||||
|
||||
```
|
||||
|
||||
## Time
|
||||
> 时间戳操作
|
||||
|
||||
```
|
||||
// 今日开始和结束的时间戳
|
||||
Time::today();
|
||||
|
||||
// 昨日开始和结束的时间戳
|
||||
Time::yesterday();
|
||||
|
||||
// 本周开始和结束的时间戳
|
||||
Time::week();
|
||||
|
||||
// 上周开始和结束的时间戳
|
||||
Time::lastWeek();
|
||||
|
||||
// 本月开始和结束的时间戳
|
||||
Time::month();
|
||||
|
||||
// 上月开始和结束的时间戳
|
||||
Time::lastMonth();
|
||||
|
||||
// 今年开始和结束的时间戳
|
||||
Time::year();
|
||||
|
||||
// 去年开始和结束的时间戳
|
||||
Time::lastYear();
|
||||
|
||||
// 获取7天前零点到现在的时间戳
|
||||
Time::dayToNow(7)
|
||||
|
||||
// 获取7天前零点到昨日结束的时间戳
|
||||
Time::dayToNow(7, true)
|
||||
|
||||
// 获取7天前的时间戳
|
||||
Time::daysAgo(7)
|
||||
|
||||
// 获取7天后的时间戳
|
||||
Time::daysAfter(7)
|
||||
|
||||
// 天数转换成秒数
|
||||
Time::daysToSecond(5)
|
||||
|
||||
// 周数转换成秒数
|
||||
Time::weekToSecond(5)
|
||||
|
||||
```
|
||||
48
vendor/topthink/think-helper/src/Hash.php
vendored
48
vendor/topthink/think-helper/src/Hash.php
vendored
@@ -1,48 +0,0 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: yunwuxin <448901948@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace think\helper;
|
||||
|
||||
|
||||
class Hash
|
||||
{
|
||||
protected static $handle = [];
|
||||
|
||||
public static function make($value, $type = null, array $options = [])
|
||||
{
|
||||
return self::handle($type)->make($value, $options);
|
||||
}
|
||||
|
||||
public static function check($value, $hashedValue, $type = null, array $options = [])
|
||||
{
|
||||
return self::handle($type)->check($value, $hashedValue, $options);
|
||||
}
|
||||
|
||||
public static function handle($type)
|
||||
{
|
||||
if (is_null($type)) {
|
||||
if (PHP_VERSION_ID >= 50500) {
|
||||
$type = 'bcrypt';
|
||||
} else {
|
||||
$type = 'md5';
|
||||
}
|
||||
}
|
||||
if (empty(self::$handle[$type])) {
|
||||
$class = "\\think\\helper\\hash\\" . ucfirst($type);
|
||||
if (!class_exists($class)) {
|
||||
throw new \ErrorException("Not found {$type} hash type!");
|
||||
}
|
||||
self::$handle[$type] = new $class();
|
||||
}
|
||||
return self::$handle[$type];
|
||||
}
|
||||
|
||||
}
|
||||
198
vendor/topthink/think-helper/src/Time.php
vendored
198
vendor/topthink/think-helper/src/Time.php
vendored
@@ -1,198 +0,0 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: 刘志淳 <chun@engineer.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace think\helper;
|
||||
|
||||
class Time
|
||||
{
|
||||
/**
|
||||
* 返回今日开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function today()
|
||||
{
|
||||
return [
|
||||
mktime(0, 0, 0, date('m'), date('d'), date('Y')),
|
||||
mktime(23, 59, 59, date('m'), date('d'), date('Y'))
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回昨日开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function yesterday()
|
||||
{
|
||||
$yesterday = date('d') - 1;
|
||||
return [
|
||||
mktime(0, 0, 0, date('m'), $yesterday, date('Y')),
|
||||
mktime(23, 59, 59, date('m'), $yesterday, date('Y'))
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回本周开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function week()
|
||||
{
|
||||
$timestamp = time();
|
||||
return [
|
||||
strtotime(date('Y-m-d', strtotime("+0 week Monday", $timestamp))),
|
||||
strtotime(date('Y-m-d', strtotime("+0 week Sunday", $timestamp))) + 24 * 3600 - 1
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回上周开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function lastWeek()
|
||||
{
|
||||
$timestamp = time();
|
||||
return [
|
||||
strtotime(date('Y-m-d', strtotime("last week Monday", $timestamp))),
|
||||
strtotime(date('Y-m-d', strtotime("last week Sunday", $timestamp))) + 24 * 3600 - 1
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回本月开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function month($everyDay = false)
|
||||
{
|
||||
return [
|
||||
mktime(0, 0, 0, date('m'), 1, date('Y')),
|
||||
mktime(23, 59, 59, date('m'), date('t'), date('Y'))
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回上个月开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function lastMonth()
|
||||
{
|
||||
$begin = mktime(0, 0, 0, date('m') - 1, 1, date('Y'));
|
||||
$end = mktime(23, 59, 59, date('m') - 1, date('t', $begin), date('Y'));
|
||||
|
||||
return [$begin, $end];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回今年开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function year()
|
||||
{
|
||||
return [
|
||||
mktime(0, 0, 0, 1, 1, date('Y')),
|
||||
mktime(23, 59, 59, 12, 31, date('Y'))
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回去年开始和结束的时间戳
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function lastYear()
|
||||
{
|
||||
$year = date('Y') - 1;
|
||||
return [
|
||||
mktime(0, 0, 0, 1, 1, $year),
|
||||
mktime(23, 59, 59, 12, 31, $year)
|
||||
];
|
||||
}
|
||||
|
||||
public static function dayOf()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取几天前零点到现在/昨日结束的时间戳
|
||||
*
|
||||
* @param int $day 天数
|
||||
* @param bool $now 返回现在或者昨天结束时间戳
|
||||
* @return array
|
||||
*/
|
||||
public static function dayToNow($day = 1, $now = true)
|
||||
{
|
||||
$end = time();
|
||||
if (!$now) {
|
||||
list($foo, $end) = self::yesterday();
|
||||
}
|
||||
|
||||
return [
|
||||
mktime(0, 0, 0, date('m'), date('d') - $day, date('Y')),
|
||||
$end
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回几天前的时间戳
|
||||
*
|
||||
* @param int $day
|
||||
* @return int
|
||||
*/
|
||||
public static function daysAgo($day = 1)
|
||||
{
|
||||
$nowTime = time();
|
||||
return $nowTime - self::daysToSecond($day);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回几天后的时间戳
|
||||
*
|
||||
* @param int $day
|
||||
* @return int
|
||||
*/
|
||||
public static function daysAfter($day = 1)
|
||||
{
|
||||
$nowTime = time();
|
||||
return $nowTime + self::daysToSecond($day);
|
||||
}
|
||||
|
||||
/**
|
||||
* 天数转换成秒数
|
||||
*
|
||||
* @param int $day
|
||||
* @return int
|
||||
*/
|
||||
public static function daysToSecond($day = 1)
|
||||
{
|
||||
return $day * 86400;
|
||||
}
|
||||
|
||||
/**
|
||||
* 周数转换成秒数
|
||||
*
|
||||
* @param int $week
|
||||
* @return int
|
||||
*/
|
||||
public static function weekToSecond($week = 1)
|
||||
{
|
||||
return self::daysToSecond() * 7 * $week;
|
||||
}
|
||||
|
||||
private static function startTimeToEndTime()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
51
vendor/topthink/think-helper/src/hash/Bcrypt.php
vendored
51
vendor/topthink/think-helper/src/hash/Bcrypt.php
vendored
@@ -1,51 +0,0 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: yunwuxin <448901948@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace think\helper\hash;
|
||||
|
||||
class Bcrypt
|
||||
{
|
||||
|
||||
/**
|
||||
* Default crypt cost factor.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $rounds = 10;
|
||||
|
||||
public function make($value, array $options = [])
|
||||
{
|
||||
$cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds;
|
||||
|
||||
$hash = password_hash($value, PASSWORD_BCRYPT, ['cost' => $cost]);
|
||||
|
||||
if ($hash === false) {
|
||||
throw new \RuntimeException('Bcrypt hashing not supported.');
|
||||
}
|
||||
|
||||
return $hash;
|
||||
}
|
||||
|
||||
public function check($value, $hashedValue, array $options = [])
|
||||
{
|
||||
if (strlen($hashedValue) === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return password_verify($value, $hashedValue);
|
||||
}
|
||||
|
||||
public function setRounds($rounds)
|
||||
{
|
||||
$this->rounds = (int)$rounds;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
42
vendor/topthink/think-helper/src/hash/Md5.php
vendored
42
vendor/topthink/think-helper/src/hash/Md5.php
vendored
@@ -1,42 +0,0 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: yunwuxin <448901948@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace think\helper\hash;
|
||||
|
||||
class Md5
|
||||
{
|
||||
|
||||
protected $salt = 'think';
|
||||
|
||||
public function make($value, array $options = [])
|
||||
{
|
||||
$salt = isset($options['salt']) ? $options['salt'] : $this->salt;
|
||||
|
||||
return md5(md5($value) . $salt);
|
||||
}
|
||||
|
||||
public function check($value, $hashedValue, array $options = [])
|
||||
{
|
||||
if (strlen($hashedValue) === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$salt = isset($options['salt']) ? $options['salt'] : $this->salt;
|
||||
|
||||
return md5(md5($value) . $salt) == $hashedValue;
|
||||
}
|
||||
|
||||
public function setSalt($salt)
|
||||
{
|
||||
$this->salt = (string)$salt;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
55
vendor/topthink/think-helper/src/helper.php
vendored
55
vendor/topthink/think-helper/src/helper.php
vendored
@@ -9,62 +9,7 @@
|
||||
// | Author: yunwuxin <448901948@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
if (!function_exists('class_basename')) {
|
||||
/**
|
||||
* 获取类名(不包含命名空间)
|
||||
*
|
||||
* @param string|object $class
|
||||
* @return string
|
||||
*/
|
||||
function class_basename($class)
|
||||
{
|
||||
$class = is_object($class) ? get_class($class) : $class;
|
||||
|
||||
return basename(str_replace('\\', '/', $class));
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('class_uses_recursive')) {
|
||||
/**
|
||||
*获取一个类里所有用到的trait,包括父类的
|
||||
*
|
||||
* @param $class
|
||||
* @return array
|
||||
*/
|
||||
function class_uses_recursive($class)
|
||||
{
|
||||
if (is_object($class)) {
|
||||
$class = get_class($class);
|
||||
}
|
||||
|
||||
$results = [];
|
||||
|
||||
foreach (array_merge([$class => $class], class_parents($class)) as $class) {
|
||||
$results += trait_uses_recursive($class);
|
||||
}
|
||||
|
||||
return array_unique($results);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('trait_uses_recursive')) {
|
||||
/**
|
||||
* 获取一个trait里所有引用到的trait
|
||||
*
|
||||
* @param string $trait
|
||||
* @return array
|
||||
*/
|
||||
function trait_uses_recursive($trait)
|
||||
{
|
||||
$traits = class_uses($trait);
|
||||
|
||||
foreach ($traits as $trait) {
|
||||
$traits += trait_uses_recursive($trait);
|
||||
}
|
||||
|
||||
return $traits;
|
||||
}
|
||||
}
|
||||
if (!function_exists('classnames')) {
|
||||
/**
|
||||
* css样式名生成器
|
||||
|
||||
Reference in New Issue
Block a user