单例模式可确保一个类只有一个实例,并提供一个全局点来访问它。它确保在受控状态下整个应用程序中只有一个对象可用。单例模式提供了一种访问其唯一对象的方法,该对象可以直接访问而无需实例化该类的对象。
<?php class database { public static $connection; private function __construct(){ echo "connection created"; } public function connect(){ if(!isset(self::$connection)){ self::$connection = new database(); } return self::$connection; } } $db = database::connect(); $db2 = database::connect(); ?>
输出结果
connection created
在上面的示例中,由于我们遵循单例模式,因此无法创建对象$db2。将仅创建一个对象,即整个应用程序中都可用。