Skip to content

Commit

Permalink
兼容低版本的psr/log、psr/simple-cache
Browse files Browse the repository at this point in the history
  • Loading branch information
yunwuxin committed Sep 25, 2023
1 parent c48da2f commit 2bb45cc
Show file tree
Hide file tree
Showing 12 changed files with 128 additions and 165 deletions.
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
"php": ">=8.0.0",
"ext-json": "*",
"ext-mbstring": "*",
"psr/log": "^3.0",
"psr/log": "^1.0|^2.0|^3.0",
"psr/container": "^2.0",
"psr/simple-cache": "^3.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
"psr/http-message": "^1.0",
"topthink/think-orm": "^3.0",
"topthink/think-helper": "^3.1"
Expand Down
29 changes: 9 additions & 20 deletions src/think/Cache.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
use DateTimeInterface;
use Psr\SimpleCache\CacheInterface;
use think\cache\Driver;
use think\cache\TagSet;
use think\exception\InvalidArgumentException;
use think\helper\Arr;

Expand Down Expand Up @@ -109,20 +108,20 @@ public function clear(): bool
* @param mixed $default 默认值
* @return mixed
*/
public function get(string $key, mixed $default = null): mixed
public function get($key, mixed $default = null): mixed
{
return $this->store()->get($key, $default);
}

/**
* 写入缓存
* @access public
* @param string $key 缓存变量名
* @param mixed $value 存储数据
* @param string $key 缓存变量名
* @param mixed $value 存储数据
* @param int|DateTimeInterface|DateInterval $ttl 有效时间 0为永久
* @return bool
*/
public function set(string $key, mixed $value, int|DateInterval|DateTimeInterface $ttl = null): bool
public function set($key, $value, $ttl = null): bool
{
return $this->store()->set($key, $value, $ttl);
}
Expand All @@ -133,7 +132,7 @@ public function set(string $key, mixed $value, int|DateInterval|DateTimeInterfac
* @param string $key 缓存变量名
* @return bool
*/
public function delete(string $key): bool
public function delete($key): bool
{
return $this->store()->delete($key);
}
Expand All @@ -146,7 +145,7 @@ public function delete(string $key): bool
* @return iterable
* @throws InvalidArgumentException
*/
public function getMultiple(iterable $keys, mixed $default = null): iterable
public function getMultiple($keys, $default = null): iterable
{
return $this->store()->getMultiple($keys, $default);
}
Expand All @@ -158,7 +157,7 @@ public function getMultiple(iterable $keys, mixed $default = null): iterable
* @param null|int|\DateInterval $ttl 有效时间 0为永久
* @return bool
*/
public function setMultiple(iterable $values, int|DateInterval|DateTimeInterface $ttl = null): bool
public function setMultiple($values, $ttl = null): bool
{
return $this->store()->setMultiple($values, $ttl);
}
Expand All @@ -170,7 +169,7 @@ public function setMultiple(iterable $values, int|DateInterval|DateTimeInterface
* @return bool
* @throws InvalidArgumentException
*/
public function deleteMultiple(iterable $keys): bool
public function deleteMultiple($keys): bool
{
return $this->store()->deleteMultiple($keys);
}
Expand All @@ -181,19 +180,9 @@ public function deleteMultiple(iterable $keys): bool
* @param string $key 缓存变量名
* @return bool
*/
public function has(string $key): bool
public function has($key): bool
{
return $this->store()->has($key);
}

/**
* 缓存标签
* @access public
* @param string|array $name 标签名
* @return TagSet
*/
public function tag(string|array $name): TagSet
{
return $this->store()->tag($name);
}
}
4 changes: 2 additions & 2 deletions src/think/Log.php
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ public function listen($listener)
* @param array $context 替换内容
* @return void
*/
public function log($level, string|Stringable $message, array $context = []): void
public function log($level, $message, array $context = []): void
{
$this->record($message, $level, $context);
}
Expand All @@ -237,7 +237,7 @@ public function log($level, string|Stringable $message, array $context = []): vo
* @param array $context 替换内容
* @return void
*/
public function sql(string|Stringable $message, array $context = []): void
public function sql($message, array $context = []): void
{
$this->log(__FUNCTION__, $message, $context);
}
Expand Down
39 changes: 19 additions & 20 deletions src/think/cache/Driver.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
use DateTime;
use DateTimeInterface;
use Exception;
use Psr\SimpleCache\CacheInterface;
use think\Container;
use think\contract\CacheHandlerInterface;
use think\exception\InvalidArgumentException;
Expand All @@ -26,7 +25,7 @@
/**
* 缓存基础类
*/
abstract class Driver implements CacheInterface, CacheHandlerInterface
abstract class Driver implements CacheHandlerInterface
{
/**
* 驱动句柄
Expand Down Expand Up @@ -64,14 +63,14 @@ abstract class Driver implements CacheInterface, CacheHandlerInterface
* @param integer|DateInterval|DateTimeInterface $expire 有效期
* @return int
*/
protected function getExpireTime(int | DateInterval | DateTimeInterface $expire): int
protected function getExpireTime(int|DateInterval|DateTimeInterface $expire): int
{
if ($expire instanceof DateTimeInterface) {
$expire = $expire->getTimestamp() - time();
} elseif ($expire instanceof DateInterval) {
$expire = DateTime::createFromFormat('U', (string) time())
->add($expire)
->format('U') - time();
->add($expire)
->format('U') - time();
}

return $expire;
Expand All @@ -94,7 +93,7 @@ public function getCacheKey(string $name): string
* @param string $name 缓存变量名
* @return mixed
*/
public function pull(string $name)
public function pull($name)
{
$result = $this->get($name, false);

Expand All @@ -111,7 +110,7 @@ public function pull(string $name)
* @param mixed $value 存储数据
* @return void
*/
public function push(string $name, $value): void
public function push($name, $value): void
{
$item = $this->get($name, []);

Expand All @@ -137,20 +136,20 @@ public function push(string $name, $value): void
* @param mixed $value 存储数据
* @return void
*/
public function append(string $name, $value): void
public function append($name, $value): void
{
$this->push($name, $value);
}

/**
* 如果不存在则写入缓存
* @access public
* @param string $name 缓存变量名
* @param mixed $value 存储数据
* @param int|DateInterval|DateTimeInterface $expire 有效时间 0为永久
* @param string $name 缓存变量名
* @param mixed $value 存储数据
* @param int|DateInterval|DateTimeInterface $expire 有效时间 0为永久
* @return mixed
*/
public function remember(string $name, $value, int | DateInterval | DateTimeInterface $expire = null)
public function remember($name, $value, $expire = null)
{
if ($this->has($name)) {
if (($hit = $this->get($name)) !== null) {
Expand Down Expand Up @@ -179,7 +178,7 @@ public function remember(string $name, $value, int | DateInterval | DateTimeInte

// 解锁
$this->delete($name . '_lock');
} catch (Exception | throwable $e) {
} catch (Exception|throwable $e) {
$this->delete($name . '_lock');
throw $e;
}
Expand All @@ -193,7 +192,7 @@ public function remember(string $name, $value, int | DateInterval | DateTimeInte
* @param string|array $name 标签名
* @return TagSet
*/
public function tag(string | array $name): TagSet
public function tag($name): TagSet
{
$name = (array) $name;
$key = implode('-', $name);
Expand Down Expand Up @@ -275,9 +274,9 @@ public function handler()

/**
* 返回缓存读取次数
* @return int
* @deprecated
* @access public
* @return int
*/
public function getReadTimes(): int
{
Expand All @@ -286,9 +285,9 @@ public function getReadTimes(): int

/**
* 返回缓存写入次数
* @return int
* @deprecated
* @access public
* @return int
*/
public function getWriteTimes(): int
{
Expand All @@ -303,7 +302,7 @@ public function getWriteTimes(): int
* @return iterable
* @throws InvalidArgumentException
*/
public function getMultiple(iterable $keys, mixed $default = null): iterable
public function getMultiple($keys, $default = null): iterable
{
$result = [];

Expand All @@ -317,11 +316,11 @@ public function getMultiple(iterable $keys, mixed $default = null): iterable
/**
* 写入缓存
* @access public
* @param iterable $values 缓存数据
* @param iterable $values 缓存数据
* @param null|int|\DateInterval|DateTimeInterface $ttl 有效时间 0为永久
* @return bool
*/
public function setMultiple(iterable $values, int | DateInterval | DateTimeInterface $ttl = null): bool
public function setMultiple($values, $ttl = null): bool
{
foreach ($values as $key => $val) {
$result = $this->set($key, $val, $ttl);
Expand All @@ -341,7 +340,7 @@ public function setMultiple(iterable $values, int | DateInterval | DateTimeInter
* @return bool
* @throws InvalidArgumentException
*/
public function deleteMultiple(iterable $keys): bool
public function deleteMultiple($keys): bool
{
foreach ($keys as $key) {
$result = $this->delete($key);
Expand Down
18 changes: 9 additions & 9 deletions src/think/cache/TagSet.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
declare(strict_types=1);
declare(strict_types = 1);

namespace think\cache;

Expand All @@ -23,8 +23,8 @@ class TagSet
/**
* 架构函数
* @access public
* @param array $tag 缓存标签
* @param Driver $cache 缓存对象
* @param array $tag 缓存标签
* @param Driver $handler 缓存对象
*/
public function __construct(protected array $tag, protected Driver $handler)
{
Expand All @@ -33,12 +33,12 @@ public function __construct(protected array $tag, protected Driver $handler)
/**
* 写入缓存
* @access public
* @param string $name 缓存变量名
* @param mixed $value 存储数据
* @param string $name 缓存变量名
* @param mixed $value 存储数据
* @param integer|DateInterval|DateTimeInterface $expire 有效时间(秒)
* @return bool
*/
public function set(string $name, $value, int|DateInterval|DateTimeInterface $expire = null): bool
public function set($name, $value, $expire = null): bool
{
$this->handler->set($name, $value, $expire);

Expand Down Expand Up @@ -66,11 +66,11 @@ public function append(string $name): void
/**
* 写入缓存
* @access public
* @param iterable $values 缓存数据
* @param iterable $values 缓存数据
* @param null|int|DateInterval|DateTimeInterface $ttl 有效时间 0为永久
* @return bool
*/
public function setMultiple(iterable $values, int|DateInterval|DateTimeInterface $ttl = null): bool
public function setMultiple($values, $ttl = null): bool
{
foreach ($values as $key => $val) {
$result = $this->set($key, $val, $ttl);
Expand All @@ -91,7 +91,7 @@ public function setMultiple(iterable $values, int|DateInterval|DateTimeInterface
* @param int $expire 有效时间 0为永久
* @return mixed
*/
public function remember(string $name, $value, $expire = null)
public function remember($name, $value, $expire = null)
{
$result = $this->handler->remember($name, $value, $expire);

Expand Down
Loading

0 comments on commit 2bb45cc

Please sign in to comment.