Size: a a a

Генератор непрочитанных сообщений

2020 May 04

DM

Daria Motorina in Генератор непрочитанных сообщений
Dmitriy Tkachenko
Чем это лучше синглтона с публичной пропертей или геттером?
+
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Dmitriy Tkachenko
Чем это лучше синглтона с публичной пропертей или геттером?
Статические конструкторы рулят.
Во-первых - их может быть больше чем один, что бывает удобно.
Во-вторых - при этом обычный конструктор делают приватным, соответственно его нельзя вызвать на уже существующем объекте.
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Собственно минусов статических конструкторов я не вижу.
источник

DM

Daria Motorina in Генератор непрочитанных сообщений
Aleksandr Khristenko
Статические конструкторы рулят.
Во-первых - их может быть больше чем один, что бывает удобно.
Во-вторых - при этом обычный конструктор делают приватным, соответственно его нельзя вызвать на уже существующем объекте.
Почему в пхп стараються избегать статики везде, где без нее можно обойтись, в том числе во благо юнит тестирования, но статический конструктор это хорошо?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Daria Motorina
Почему в пхп стараються избегать статики везде, где без нее можно обойтись, в том числе во благо юнит тестирования, но статический конструктор это хорошо?
Не знаю. А ты можешь сказать, почему?
источник

DM

Daria Motorina in Генератор непрочитанных сообщений
Aleksandr Khristenko
Не знаю. А ты можешь сказать, почему?
Я не могу
но я для себя не вижу полезных кейсов статического конструктора, слишком частный случай
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Daria Motorina
Я не могу
но я для себя не вижу полезных кейсов статического конструктора, слишком частный случай
Объект может иметь больше чем один вариант создания.
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Aleksandr Khristenko
Статические конструкторы рулят.
Во-первых - их может быть больше чем один, что бывает удобно.
Во-вторых - при этом обычный конструктор делают приватным, соответственно его нельзя вызвать на уже существующем объекте.
Это итак делается по щелчку пальцев в пхп уже сейчас. Зачем ещё одна фича языка, которая уже в полной мере присутствует в языке?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Dmitriy Tkachenko
Это итак делается по щелчку пальцев в пхп уже сейчас. Зачем ещё одна фича языка, которая уже в полной мере присутствует в языке?
Можеш разверуть свою мысль? Как сделать 2 разных варианта создания объекта без статических конструкторов?
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Obect::createFromJson
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Object::createFromXML
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Речь вообще про конструктор статического контекста
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Dmitriy Tkachenko
Obect::createFromJson
Ну так это и есть статический конструктор, не?
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Аналог static {} из жабы
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Aleksandr Khristenko
Ну так это и есть статический конструктор, не?
Речь про ту штуку, которая инициализирует статический контекст
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Окей, значит я неправлиьно понял.
источник

DM

Daria Motorina in Генератор непрочитанных сообщений
Dmitriy Tkachenko
Obect::createFromJson
Кстати, если те же методы create описывать в классе как динамические, то чем это хуже? Тем, что создание не должно привязываться к контексту класса?
источник

DT

Dmitriy Tkachenko in Генератор непрочитанных сообщений
Daria Motorina
Кстати, если те же методы create описывать в классе как динамические, то чем это хуже? Тем, что создание не должно привязываться к контексту класса?
Не понял)
источник

DM

Daria Motorina in Генератор непрочитанных сообщений
Dmitriy Tkachenko
Не понял)
Чем плохо юзать $class->createFromA() вместо Class::createFromA(). В некоторых фабриках методы create делают статическими, а в некоторых - нет. Это вкусовщина или есть причины делать методы create статическими?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Daria Motorina
Чем плохо юзать $class->createFromA() вместо Class::createFromA(). В некоторых фабриках методы create делают статическими, а в некоторых - нет. Это вкусовщина или есть причины делать методы create статическими?
В том, что перед тем, как делать $class->createFromA() тебе надо как-то создать $class.
источник