Небольшие изменения
This commit is contained in:
57
system/Traits/Singleton.php
Normal file
57
system/Traits/Singleton.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace VK\Traits;
|
||||
|
||||
/**
|
||||
* Паттерн singleton
|
||||
*/
|
||||
trait Singleton
|
||||
{
|
||||
/**
|
||||
* Экземпляр класса
|
||||
*
|
||||
* @var LoggerAbstract
|
||||
*/
|
||||
protected static $instance;
|
||||
|
||||
/**
|
||||
* Блокировка конструктора
|
||||
*/
|
||||
protected function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Инициализатор экземпляра класса
|
||||
*
|
||||
* @return LoggerAbstract
|
||||
*/
|
||||
public static function init(): self
|
||||
{
|
||||
if (self::$instance === null) self::$instance = new self;
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Блокировка магического метода __clone()
|
||||
*/
|
||||
private function __clone()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Блокировка магического метода __sleep()
|
||||
*/
|
||||
private function __sleep()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Блокировка магического метода __wakeup()
|
||||
*/
|
||||
private function __wakeup()
|
||||
{
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user