首页 > 解决方案 > 为什么我要在类本身内创建一个类的实例?

问题描述

实际上,我从 Github 获得了一个数据库连接类,作者倾向于在类定义中实例化一个实例,但我不明白为什么要这样做,请尝试简化,这里是代码

<?php

class Database {

private $_connection;
private static $_instance; //The single instance
private $_host = "HOSTt";
private $_username = "USERNAME";
private $_password = "PASSWORd";
private $_database = "DATABASE";

/*
Get an instance of the Database
@return Instance
*/
public static function getInstance() {
    if(!self::$_instance) { // If no instance then make one
        self::$_instance = new self();
    }

    return self::$_instance;
}
//then the rest of the class
?>

标签: phpoop

解决方案


这是一种称为单例的设计模式。当您最多需要一个此类的实例时使用它。


推荐阅读