欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP 单例模式

程序员文章站 2022-07-13 23:41:58
...
<?php

namespace app\comman\auth;
// 单例 一次请求中所有出现都是一个用户
class JwtAuth{
    /**
     * 单例模式
     * @var [type]
     */
    private static $instance;

    private function __construct()
    {
         echo '实例初始化';
    }

    public static function getInstance()
    {
        if (is_null(self::$instance)) {
            self::$instance = new self();
        }
        return self::$instance;
    }


    //阻止用户复制对象实例
    private function __clone()
    {
        trigger_error('禁止克隆' ,E_USER_ERROR);
    }

    function test()
    {
        echo("this is a test");
    }
}

$test = JwtAuth::getInstance();
$test = JwtAuth::getInstance();
$test = JwtAuth::getInstance();
$test = JwtAuth::getInstance();
$test->test();

// 输出结果:实例初始化 this is a test