Когда уже наконец выйдет PHP5.3 ?

Статус
В этой теме нельзя размещать новые ответы.

x-yuri

Новичок
похоже к неймспейсу этот код не будет относится, тогда может и нету разницы

-~{}~ 10.01.09 16:58:

хотя с другой стороны можно сказать, что в статический класс ты код между методами не запихнешь, пусть он к этому классу относится не будет. Но как я уже сказал, это все мелочи, и непонятно зачем о них спорить
 

x-yuri

Новичок
флоппик но даже если мы не обсуждаем синтаксис. То лучше сказать, что статические методы _можно использовать_ как синглтон, как неймспейс или еще как-нибудь
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Хорошо. Скажи мне, какие особенности, архитектурные преимущества, возможности реализации того, что нельзя реализовать неймспейсом, имеет статический класс?

цепляясь за запятые, чем просто сказать — «я не прав».
Невероятно многие — http://tinyurl.com/a6uch5
 

phprus

Moderator
Команда форума
флоппик
Зато если взять не этот сервис, а обычный гугл, то будет целых 579 результатов.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
обычный гугл, то будет целых 579 результатов.
Результаты: 1 - 18 из 18 английском и русском страниц из домена phpclub.ru/talk для "я не прав". (0,05 секунд)
Там просто много разных ссылок на каждый пост в одной и той же теме.

И половина фраз там — вопросительная, «я не прав?»

Дело то не в количестве. А в менталитете...
 

Angerslave

Новичок
Лольная ветка. Нашли о чём спорить.

PS. флоппик, а что по ссылке-то?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Нашли о чём спорить.
К сожалению, это достаточно важная штука — для правильного понимания ООП. Это я про то, что статические классы не удовлетворяют принципам ООП. =)
 

Angerslave

Новичок
флоппик
И пусть не являются, они от этого станут менее удобными?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
они от этого станут менее удобными?
упаси бог! я ничего не имею против их удобности. Суть то в том, что с выходом неймспейсов смысл в них - пропадет.
 

Angerslave

Новичок
флоппик
По мне, так это идентичные инструменты, разве что синтаксис разный.
 

x-yuri

Новичок
флоппик я думал, что разговор уже давно не про то, что статические классы нарушение норм ООП,
а про то, можно ли сказать, что статический класс - эмуляция синглтона, эмуляция неймспейса
 

x-yuri

Новичок
Angerslave это ты про код автора, или про наш с флоппик разговор?

-~{}~ 10.01.09 18:03:

флоппик а был я не прав в том, как я понял твою фразу
Статические классы, это «эмуляция» синглтона. Точнее неймспейсов.
 

cDLEON

Онанист РНРСlub
Кто первый вальнет мне по рукам, за такую вот байду:
PHP:
class test extends patterns_singleton {
	public function __construct($doc_root) {
		self::$instance=$this;
		//...
	}
	static public function get_instance($instance = NULL ) {
		if($instance!==NULL) {
			self::$instance=$instance;
		}
		if(!isset(self::$instance)) {
			throw new Exception('Object '.__CLASS__.' not inited!');
		}
		return self::$instance;
	}
}
? :D
 

x-yuri

Новичок
ты, причем в прошедшем времени и до сих пор этого не заметил

-~{}~ 10.01.09 21:24:

кроме того у тебя как-то концы с концами не сходятся test::get_instance предполагает, что первый раз ей будет объект передан, init у тебя первым делом вызывает get_instance без параметров. Так где же собственно создается объект?

-~{}~ 10.01.09 21:28:

и еще, у тебя подразумеваются потомки от blabla, кроме child_blabla?

-~{}~ 10.01.09 21:32:

хотя в этом вариант похоже роль init играет конструктор
 

Crys

Двинутый новичок
Не следует множить сущее без необходимости
 

cDLEON

Онанист РНРСlub
кроме того у тебя как-то концы с концами не сходятся test::get_instance предполагает, что первый раз ей будет объект передан
Нет, передача $instance - используется для тестирования. Для того, что бы вместо реального объекта подсунуть мок объект в этот синглтон, если потребуется.
Так где же собственно создается объект?
Создавался в методе get_instance. Теперь создаётся - в конструкторе объекта. Вот правда не знаю правильно ли это....
и еще, у тебя подразумеваются потомки от blabla, кроме child_blabla?
Естественно...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху