What is the Singleton pattern in PHP and how can it be applied to avoid multiple instances of a class?

The Singleton pattern in PHP is a design pattern that ensures a class has only one instance and provides a global point of access to that instance. To implement the Singleton pattern in PHP, you can create a static method within the class that checks if an instance of the class already exists, and if not, creates a new instance. This prevents multiple instances of the class from being created.

class Singleton {
    private static $instance;

    private function __construct() {
        // private constructor to prevent instantiation
    }

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

// Usage
$singletonInstance1 = Singleton::getInstance();
$singletonInstance2 = Singleton::getInstance();

var_dump($singletonInstance1 === $singletonInstance2); // Output: bool(true)