单例模式
Posted 蔡晓明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。
单例模式:
<?php /** * RedisOperate.php * * 单例模式设置Redis操作类 * Created by PhpStorm. * User: Administrator * Date: 2017/9/18 0018 * Time: 下午 4:07 */ class RedisOperate extends Redis { // 实例 protected static $_instance = null; /** * Single instance (获取自己的实例) * * @return RedisOperate */ public static function getInstance() { if (null === self::$_instance) { self::$_instance = new self(); $host = $_SERVER[‘REDIS_HOST‘]; $port = $_SERVER[‘REDIS_PORT‘]; self::$_instance->connect($host, $port); } return self::$_instance; } }
单例方法操作:
<?php /** * singletonPattern.php * * 单例模式 * * Created by PhpStorm. * User: Administrator * Date: 2017/9/18 0018 * Time: 下午 4:11 */ // 载入Redis include_once(‘RedisOperate.php‘); class Client { /** * 初始化配置文件 * * @return null */ public static function initConfig() { // Redis主机 $_SERVER[‘REDIS_HOST‘] = ‘127.0.0.1‘; // Redis port $_SERVER[‘REDIS_PORT‘] = 6379; } /** * 主函数 * * @return null */ public function main() { // 初始化配置 self::initConfig(); // Redis key3 RedisOperate::getInstance()->set("key3", "Redis Code3"); echo RedisOperate::getInstance()->get("key3"); echo "\r\n---\r\n"; // Redis key4 RedisOperate::getInstance()->set("key4", "Redis Code4"); echo RedisOperate::getInstance()->get("key4"); echo "\r\n---\r\n"; } } /** * 程序入口 */ function start() { $client = new Client(); $client->main(); } start();
以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章