单例模式
最后更新于:2022-04-02 02:21:33
[TOC]
## 单例模式
可对无法做静态化的方法进行静态调用,用于复杂方法
```
namespace App\lib;
class Redis{
// 重点需要引入提供的单例 trait
use \EasySwoole\Component\Singleton;
public $redis;
private function __construct(){
if(!extension_loaded("redis")){
throw new \Exception("redis.io 文件不存在");
}
try{
$this->redis = new \Redis();
$result = $this->redis->connect("127.0.0.1", 6379, 3);
} catch (\Exception $e){
throw new \Exception("redis 服务器异常");
}
if ($result===false){
throw new \Exception("redis connect is failed");
}
}
public function get($key){
if (empty($key)) {
return '';
}
return $this->redis->get($key);
}
public function set($key, $value){
return $this->redis->set($key, $value);
}
}
```
调用
```
\App\Lib\Add::getInstance()->add(1, 2);//3
```
';