Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Синглтон "Одиночка"

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ole-martyno
Отправлено: 17 Января, 2012 - 14:26:32
Post Id


Новичок


Покинул форум
Сообщений всего: 41
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




В каких случаях стоит его использовать? В классе в таком случае все методы должны быть статическими?

И вдогонку вопрос, я так понимаю, что создание экземпляра класса будет происходить вот так и он может быть только один:

PHP:
скопировать код в буфер обмена
  1.  
  2. $class = Singleton::Instance();
  3. $class->method();
  4.  


но почему тогда, если методы статические, не использовать просто такой вид обращения к методам:


Может я чего-то не догоняю, просветите, пожалуйста. Заранее спасибо!
 
 Top
caballero
Отправлено: 17 Января, 2012 - 14:30:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Стандартный случай использования - конект к БД
и нет никаких проблем сделать статический метод который сразу вернет конект


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Okula
Отправлено: 17 Января, 2012 - 14:31:52
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Вот тут я описал этот шаблон.
 
 Top
dzirt68
Отправлено: 01 Февраля, 2012 - 09:18:52
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Okula пишет:
Вот тут я описал этот шаблон.

Не совсем понятно там описано)
 
 Top
Okula
Отправлено: 01 Февраля, 2012 - 10:32:46
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Что именно не понятно? Вроде расписал всё подробно. В этом классе могут быть не только статические методы и свойства.
 
 Top
sKaa
Отправлено: 01 Февраля, 2012 - 10:37:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Okula в твоём рассказе почему-то есть пара слов о __clone, но о __wakeup ты забыл. А serialize и unserialize никто не отменял.
 
 Top
Okula
Отправлено: 01 Февраля, 2012 - 11:34:37
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Я общий смысл переда - закрыть доступ к созданию нового экземпляра объекта из вне.
Кто захочет тот и ограничет права этим методам тоже.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB