У меня есть класс, который я собираюсь сделать Синглтон.По этой причине я хочу использовать черту.Примерно так:
trait TSingleton
{
private static $instance = null;
private function __construct() {}
private function __clone() {}
private function __wakeup() {}
/**
* @return static
*/
public static function getInstance()
{
if (is_null(static::$instance)) {
static::$instance = new static();
}
return static::$instance;
}
}
А потом:
class Db implements IDb
{
use TSingleton;
...
}
Вопрос в том, будет ли конструктор базы данных закрытым, и если да, то зачем мне создавать его наследники?