Проблема, о которой я сейчас думаю, может быть более вопросом стиля или того, что у вас есть. У меня есть одноэлементный класс в PHP. Когда я проверяю, если объект уже создан, я просто сделать:! Isset vs == null PHP, Singleton Класс
if(self::$instance == null)
self::$instance = new self();
Однако, я видел несколько реализаций одноплодного шаблона в PHP сделать Исеть:
if(!isset(self::$instance))
self::$instance = new self();
По Насколько я понимаю, функциональных различий между этими двумя утверждениями нет. Один путь лучше, чем другой? Является ли один из способов более профессиональным, чем другой?
EDIT:
Вот код для всей картины внутри моего одноплодного класса:
private static $instance = null;
private function __construct() { }
public static function getInstance() {
if(self::$instance == null) {
self::$instance = new self();
}
return $instance;
}
это не плохо, он просто забыл, чтобы показать всю картину ... –
Ну в этом случае $ экземпляр определяется как null в предыдущем коде. Позвольте мне показать вам, что у меня есть: private static $ instance = null; \t \t частная функция __construct() {} \t \t \t общественная статическая функция деЫпзЬапсе() { \t \t если (самостоятельно :: $ экземпляр == NULL) { \t \t \t самостоятельно :: $ Экземпляр = новое самосознание(); \t \t} \t \t return $ instance; \t} Так вы по-прежнему рекомендуете! Isset? –
Хорошо, почему вы этого не сказали? – 2013-02-23 22:41:13