class Database { private static $instance; private function __construct() { // Initialize database connection } public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new Database(); } return self::$instance; } } // Get singleton instance of Database $database = Database::getInstance();
class Logger { private static $instance; public function log($message) { // Log message to file } public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new Logger(); } return self::$instance; } } // Get singleton instance of Logger $logger = Logger::getInstance(); // Log message to file $logger->log("Hello, world!");In this example, we have a Logger class that logs messages to a file. By using static _instance, we ensure that all messages are logged to the same file and that we don't open and close multiple file handles unnecessarily. The package library for static _instance would be the PHP core language.