@prophp7

Страница 836 из 1387
da horsie
15.12.2017
00:48:19
а вот ты добавил этот статический изЯблока() и Барбара уже недовольна

и что-то мне кажется, что БольшойПирог extends Пирог рано или поздно у тебя нарушит LSP
вот именно, что без статики не нарушает. а со статикой начинает нарушать

Dmitry
15.12.2017
00:48:56
нет, статический метод не имеет отношения к использованию объекта, ибо объекта не существует

da horsie
15.12.2017
00:49:00
следовательно статика усиляет контракт

Google
da horsie
15.12.2017
00:50:13
Dmitry
15.12.2017
00:50:23
и что?

da horsie
15.12.2017
00:50:46
ну он возвращает не то, что написано по смыслу

да, объекта еще нету

да, это не контракт в строгом смысле

Dmitry
15.12.2017
00:51:20
назови ::создатьПирогИзЯблока() ;)

da horsie
15.12.2017
00:52:00
ну так да, наверно можно

Dmitry
15.12.2017
00:52:40
но в общем если правильно использовать наследование (т.е. почти его не использовать), то этой проблемы нет

da horsie
15.12.2017
00:53:09
значит именованный конструктор это не совсем конструктор, это просто фабричный метод

конструктор всегда принадлежит тому классу, где он объявлен. а "именованный конструктор" не такой

Dmitry
15.12.2017
00:53:45
ну в общем да, конструктор у класса один ;)

da horsie
15.12.2017
00:54:15
т.е. называть эти штуки "именованный конструктор" неверно

вводит в заблуждение

Google
Dmitry
15.12.2017
00:54:59
я бы не загонялся на эту тему ;)

da horsie
15.12.2017
00:55:21
ну в общем да, конструктор у класса один ;)
ну вообще их может быть много, если язык поддерживает, но они всегда точно соотносятся с конкретным классом

я бы не загонялся на эту тему ;)
я пытаюсь нащупать какие-то паттерны вменяемого объектного дизайна на пыхе

Dmitry
15.12.2017
00:56:48
ну в общем да, была бы перегрузка, было бы проще

но вооще мне кажется, что все сведется к ::изФруктов(ФруктовыйИнтерфейс)

da horsie
15.12.2017
00:58:56
чтобы избегать невалидного стейта не кучей ifов и исключений, а грамотным описанием интерфейса объекта.

интерфейса в широком смысле, т.е. конструкторы туда тоже входят

думаю как сократить цепочку new Foo(new Bar(new Baz(...)))

билдеры делать это уж краняя мера

Dmitry
15.12.2017
01:03:13
фабрика какая-нить, хз, все от контекста зависит

da horsie
15.12.2017
01:07:18
вывод такой: именованные конструкторы только в final классах

довольно неочевидная связь

da horsie
15.12.2017
05:26:00
Эстетика?
Скорее какое-то психическое расстройство. Задрачивать код без причин.

Roman
15.12.2017
06:44:20
думаю как сократить цепочку new Foo(new Bar(new Baz(...)))
Если это VO, то можно внутри Bar создавать Baz

da horsie
15.12.2017
07:52:19
Если это VO, то можно внутри Bar создавать Baz
Это VO. И я примерно так и делаю.

Roman
15.12.2017
08:07:50
Хотел спросить: если пользователь может быть зареган в системе несколькими способами (создание через админку, регистрация через форму, регистрация через соц. сеть), то норм ли для каждого способа делать разные комманды\сервис-методы?

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

Kirill
15.12.2017
08:14:30
Через некоторое время разрастется(система) и будет уже нечего не исправить, только через боль и страдание

Google
Ilya
15.12.2017
08:20:00
Есть какие-либо советы?
А в чём проблема сделать один сервис и через него всё создавать, а обязательность полей проверять в том месте где приходит форма?

Ilya
15.12.2017
08:24:11
Типа UserService->register(UserRegisterInput $userInput) и там уже чекать что надо, а что нет?
Нет, UserRegisterInput разбирать до вызова UserService->register и вообще сделать что-то вроде UserService->register($login, $password, ...)

Sergey
15.12.2017
08:41:40
представляющий действие/юзкейс

Roman
15.12.2017
08:43:29
представляющий действие/юзкейс
А можно краткий пример? Ну то есть, в моем случае, мне надо минимум 2 юзкейса (регистрация через форму, регистрация через админку)?

Sergey
15.12.2017
08:43:57
по сути... в случае регистрации через админку не нужна например... активация email-а пользователя

так?

Roman
15.12.2017
08:45:05
чем отличаются меджу собой действия с точки зрения данных?
При регистрации через форму, есть обязательный параметр, а с при создании с админки его нету.

Roman
15.12.2017
08:45:24
по сути... в случае регистрации через админку не нужна например... активация email-а пользователя
Пока активации через почту вообще нету, но предполагаю такой юзкейс

Sergey
15.12.2017
08:45:46
ну просто два класса, можешь общие данные вынести в какой-то третий класс если хочешь... можешь еще как

это уже тебе решать)

убрать дублирование выделив одинаковое поведение ты всегда сможешь

Roman
15.12.2017
08:47:15
это уже тебе решать)
Т.е., можно сделать просто как классы-команды, для каждого вида регистрации

Sergey
15.12.2017
08:48:02
типа того, но на самом деле все чуть сложнее конечно, ибо когда у тебя появляются такие вот расхождения в духе "что-то обязательно но это что-то уже не так обязательно если кто-то другой работает с этим же юзкейсом".

ты это в любом случае как-то выразить должен

Roman
15.12.2017
08:48:20
Или один класс для регистрации и декораторы для него, если надо добавлять доп инфу для юзера

Google
Roman
15.12.2017
08:49:02
да, можно так
Только с именнованием немного трудновато будет)))

Sergey
15.12.2017
08:49:31
ммм.... RegisterUser и AddUser или что-то типа того

это как по мне тот случай когда можно наплевать на правило что "класс должен именоваться существительным".

так как.... это описание процесса

ну или можно тупо суффикс добавить

Admin
ERROR: S client not available

Roman
15.12.2017
08:54:14
ммм.... RegisterUser и AddUser или что-то типа того
Стоит ли передавать обязательные параметры вдля регистрации в сам метод (register(UserCredentials $userCreds, SomeParam $someParam, AnotherParam $anotherParam)) или лучше выделить VO типа UserRegisterOptions ?

Vladislav
15.12.2017
11:51:32
https://habrahabr.ru/company/mailru/blog/344696/

Dmitry
15.12.2017
13:58:31
мдя, как это я пропустил дос на json, хех...

Maksim
15.12.2017
14:02:00
я, как истинный ламер, ещё и про target не знал)

Alexandr
15.12.2017
14:09:21
я прочитал книгу Фленова "PHP глазами хакера" и сплю спокойно))

Alexander
15.12.2017
14:26:30
я прочитал книгу Фленова "PHP глазами хакера" и сплю спокойно))
Я читал книги Фленова. Когда они появилсь то норм, сейчас чето уже не впечатляют.

Anton
15.12.2017
14:27:00
Maksim
15.12.2017
14:27:28
Для меня тоже открытие
чёртовы бэкэндщики)

Alexander
15.12.2017
14:27:42
http://www.flenov.info/

vlad
15.12.2017
14:28:06
у него только по Delphi книги были более-менее, когда ещё была 7-ая версия и многие на нём писали. А потом он пошёл штамповать по всему подряд свои "*** глазами хакера"

Я читал книги Фленова. Когда они появилсь то норм, сейчас чето уже не впечатляют.

Alexander
15.12.2017
14:30:07
Ну у меня даже печатная книга есть дома на полке "глазами хакера". Конечно маркетинг. Я начинал с его книг. Весьма хорошо написаны. Легко читаются. Для первой книжки сойдет.

Google
Alexander
15.12.2017
14:30:50
У Фелного походу где то глаза хакера лежат дома. Он ими книги пишет.

vlad
15.12.2017
14:33:42
:DD

У Фелного походу где то глаза хакера лежат дома. Он ими книги пишет.

Dmitry
15.12.2017
14:35:27
выучи функцию reply :)

vlad
15.12.2017
14:36:15
для слабых в понимании и терминах ты о чём?

Dmitry
15.12.2017
14:36:38
у телеграма есть Reply, а не только Forward

Artemy
15.12.2017
14:36:44
Я С++ глазами хакера читал от него, не очень как профессиональная литература, но интересная :)

vlad
15.12.2017
14:37:27
@miksir под этим понимается просто ответ?)

Dmitry
15.12.2017
14:37:41
да

Dmitry
15.12.2017
15:14:52
Как правильно освободить память после закрытия файла phpexcel? Формируется штрук 30 xls файлов друг за другом, где-то на 20-х кончается память. Как побороть?

Nikita
15.12.2017
15:20:05
Юзать libxl. Ну или отдебажить кто ест память

Вообще инфо мало, сложно сказать как помочь. Жрать много что может.

Vadim
15.12.2017
15:26:49
там есть метод что-то типо phpexcel->flush() он очищает все данные, я в свое время с этим же боролся, постараюсь найти как называется точно

Vadim
15.12.2017
19:57:53
disconectWorksheets

Stanislav
15.12.2017
20:00:10
/stat@combot

Страница 836 из 1387