35 lines
995 B
PHP
35 lines
995 B
PHP
<?php
|
|
|
|
// Базовый синглтон
|
|
|
|
abstract class Singleton
|
|
{
|
|
|
|
protected static $_instance;
|
|
|
|
private function __construct(){
|
|
/**
|
|
* При этом в функцию можно вписать
|
|
* свой код инициализации. Также можно
|
|
* использовать деструктор класса.
|
|
* Эти функции работают по прежднему,
|
|
* только не доступны вне класса
|
|
*/
|
|
}
|
|
|
|
private function __clone(){
|
|
}
|
|
/**
|
|
* Статическая функция, которая возвращает
|
|
* экземпляр класса или создает новый при
|
|
* необходимости
|
|
*
|
|
* @return SingletonTest
|
|
*/
|
|
public static function getInstance() {
|
|
if (null === self::$_instance) {
|
|
self::$_instance = new self();
|
|
}
|
|
return self::$_instance;
|
|
}
|
|
} |