Size: a a a

2020 June 02

KN

Kirill Nesmeyanov in PHP
так что даже если там добавится что - поправить пара минут
источник

KN

Kirill Nesmeyanov in PHP
но шанс такого появления логики лишней стремится к нулю
источник

A

Aleksandr Khristenko in PHP
Немного отойду в сторону от дискуссии.
Что вы думаете о подходе, когда коструктор делается приватным + статический метод который его дергает уже.
источник

KN

Kirill Nesmeyanov in PHP
Aleksandr Khristenko
Немного отойду в сторону от дискуссии.
Что вы думаете о подходе, когда коструктор делается приватным + статический метод который его дергает уже.
норм для синглтонов)
источник

KN

Kirill Nesmeyanov in PHP
или когда конструкторов несколько
источник

DE

Dmitry Eliseev in PHP
Aleksandr Khristenko
Немного отойду в сторону от дискуссии.
Что вы думаете о подходе, когда коструктор делается приватным + статический метод который его дергает уже.
Единственное решение в PHP, когда конструкторов нужно несколько.
источник

KN

Kirill Nesmeyanov in PHP
в пыхе такое принято делать через статик методы, а ля public static fn fromSomething(): self
источник

k

knopkod4v in PHP
Kirill Nesmeyanov
ну а что плохого?
я ж говорю, каплинг.
Мне больше нравится явно выражать причину, по которой нужен идентификатор
class Foo{
 private $id;
 public function toBar(): Bar
 { return new Bar($this->id) }
}

Весь вопрос в том - зачем нужно получить идентификатор.
источник

A

Aleksandr Khristenko in PHP
Не, когда конструкторов много - понятно. Я про подход когда для всех сущностей так.
источник

DE

Dmitry Eliseev in PHP
Aleksandr Khristenko
Не, когда конструкторов много - понятно. Я про подход когда для всех сущностей так.
Тогда бесполезно
источник

A

Aleksandr Khristenko in PHP
По-сути мы теряем только одну возможность, делать new $class, но оно особо и не нужно.
источник

KN

Kirill Nesmeyanov in PHP
knopkod4v
я ж говорю, каплинг.
Мне больше нравится явно выражать причину, по которой нужен идентификатор
class Foo{
 private $id;
 public function toBar(): Bar
 { return new Bar($this->id) }
}

Весь вопрос в том - зачем нужно получить идентификатор.
хороший вопрос, кстати
источник

KN

Kirill Nesmeyanov in PHP
сечас думаю какой бы контраргумент с примером придумать и не могу
источник

KN

Kirill Nesmeyanov in PHP
вообще
источник

KN

Kirill Nesmeyanov in PHP
разве что: нахрена переусложнять
источник

KN

Kirill Nesmeyanov in PHP
ну да, не очень код, зато всё понятно даже гномикам
источник

k

knopkod4v in PHP
Kirill Nesmeyanov
разве что: нахрена переусложнять
не вижу никакого переусложнения в том, чтобы явно задавать переходы между типами. Наоборот понятно становится. Смотришь на Foo и понимаешь "Ага, из Foo у нас получается Bar, ясно." Вместо размазанного по коду new Bar($foo->id)
источник

KN

Kirill Nesmeyanov in PHP
knopkod4v
не вижу никакого переусложнения в том, чтобы явно задавать переходы между типами. Наоборот понятно становится. Смотришь на Foo и понимаешь "Ага, из Foo у нас получается Bar, ясно." Вместо размазанного по коду new Bar($foo->id)
тут лично у меня возникают проблемы куда складывать эти Bar
источник

KN

Kirill Nesmeyanov in PHP
ну если это не энтитя, а какой-нибудь урл
источник

k

knopkod4v in PHP
Kirill Nesmeyanov
тут лично у меня возникают проблемы куда складывать эти Bar
в смысле вызов конструктора? Очевидно же, что в данном случае в Foo, т.к. там есть идентификатор, который нужен для создания Bar
источник