<?php
class Singleton {
static private $instance = NULL;
private function __construct() {
}
static public function getInstance() {
if (self::$instance == NULL) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
?>
собственно зачем он нужен?
вики не помогла, там все общее обозрение написано.
как я понял он позволяет обращаться к статике и её свойствам как при создании экземпляра, но без его создания...для чего?
мчтафокс::если чего напутал не кричи();
Спустя 6 минут, 25 секунд (13.02.2012 - 19:40) vital написал(а):
Цитата |
но без его создания...для чего? |
ЧТо бы быть уверенным, что экземпляр класса строго один.
Спустя 7 секунд (13.02.2012 - 19:40) alexbel2404 написал(а):
Ну если ты сделаешь другие методы и свойства статическими, то можешь обращаться к ним и через ::, но смысл паттерна потеряется.
Спустя 2 минуты, 21 секунда (13.02.2012 - 19:42) johniek_comp написал(а):
vital
ооп тяжелая вещь, не поленись, распиши что да как, пожалуйста
ооп тяжелая вещь, не поленись, распиши что да как, пожалуйста

Спустя 1 минута, 57 секунд (13.02.2012 - 19:44) alexbel2404 написал(а):
http://habrahabr.ru/blogs/programming/136766/ найди там singleton и почитай. Но я думаю тебе до классов еще рановато.
Спустя 1 минута, 11 секунд (13.02.2012 - 19:45) Игорь_Vasinsky написал(а):
ну там же в коде всё написано - если екземпляр Не создан - создать его.
а для чего он:
а для чего он:
Цитата |
ЧТо бы быть уверенным, что экземпляр класса строго один. |
например чтобы не плодить 10 коннектов к БД.
это всего лишь шаблон.
Спустя 4 минуты, 3 секунды (13.02.2012 - 19:49) redreem написал(а):
Спустя 11 минут, 25 секунд (13.02.2012 - 20:01) Bustle написал(а):
Дабы не порождать много объектов.
Например есть большой проект мне надо соединения, а может мой код уже будет работать в другой части приложения? Какой-то например модуль, и там кто-то тоже установил соединения. Получается, что порождено много объектов экземпляром данного класса. С этого нет никакого смысла.
Например есть большой проект мне надо соединения, а может мой код уже будет работать в другой части приложения? Какой-то например модуль, и там кто-то тоже установил соединения. Получается, что порождено много объектов экземпляром данного класса. С этого нет никакого смысла.
Спустя 57 минут, 37 секунд (13.02.2012 - 20:58) johniek_comp написал(а):
разберите что не так, только без стёба :)
<?php
class Johniek
{
public $name = 123;
function __construct()
{
$this->name = $name;
}
public function param()
{
if($this->name == 123)
{
echo $this->name;
}
}
}
$obj = new Johniek();
$obj -> param();
?>
Спустя 1 минута, 30 секунд (13.02.2012 - 21:00) Игорь_Vasinsky написал(а):
Цитата |
разберите что не так |

Спустя 51 минута, 23 секунды (13.02.2012 - 21:51) johniek_comp написал(а):
не работает
Спустя 1 минута, 47 секунд (13.02.2012 - 21:53) Winston написал(а):
Цитата (johniek_comp @ 13.02.2012 - 19:58) |
function __construct() { $this->name = $name; } |
Откуда у тебя взялась $name?
Спустя 6 минут, 2 секунды (13.02.2012 - 21:59) TranceIT написал(а):
Удалил свои глупости, пока никто не видел =)
Спустя 4 минуты, 55 секунд (13.02.2012 - 22:04) TMake написал(а):
Цитата (johniek_comp @ 13.02.2012 - 20:42) |
vital ооп тяжелая вещь, не поленись, распиши что да как, пожалуйста |
http://phpforum.ru/index.php?act=ST&f=142&t=51390&st=0
johniek_comp изучи книгу по ООП, по твоим умоизречениям видно что это тебе необходимо
Спустя 1 час, 7 минут, 59 секунд (13.02.2012 - 23:12) caballero написал(а):
Цитата |
Откуда у тебя взялась $name? |
Она возмется при присвоении значения.
Спустя 35 минут, 57 секунд (13.02.2012 - 23:48) m4a1fox написал(а):
Без комментариев!

Спустя 4 часа, 15 минут, 50 секунд (14.02.2012 - 04:04) Игорь_Vasinsky написал(а):
ну что сразу так...
ТС - метод, даже конструктор - это опять же функция со своеё областью видимости.
если ты что то юзаешь внутри - то как минимум передай это в аргументе.
ТС - метод, даже конструктор - это опять же функция со своеё областью видимости.
если ты что то юзаешь внутри - то как минимум передай это в аргументе.
Спустя 9 часов, 59 минут, 5 секунд (14.02.2012 - 14:03) johniek_comp написал(а):
Ну вот, я специально класс написал с ошибкой! И получил то что и ожидал
Всем спасибо за участие!

Всем спасибо за участие!
Спустя 2 часа, 20 минут, 27 секунд (14.02.2012 - 16:23) alexbel2404 написал(а):
Цитата (johniek_comp @ 14.02.2012 - 15:03) |
Ну вот, я специально класс написал с ошибкой! И получил то что и ожидал ![]() Всем спасибо за участие! |
И для чего? По-троллить решил?
_____________
