@symfony_php

Страница 636 из 1418
Alan
11.02.2018
12:19:31
все тки в примерах по срп почему то не говорят никогда про бизнес и задачи которые он ставит просто какой то класс Car и автор решает примерами srp

Sergey
11.02.2018
12:19:49
чтобы писать на пхп?

Sergey
11.02.2018
12:19:52
Я учил С++ прости
ну значит ты потерян для общества

Google
Sergey
11.02.2018
12:19:53
это фиаско, братан..

Andrey
11.02.2018
12:20:02
Может быть

Sergey
11.02.2018
12:20:34
но если интересно как-нибудь обсудить вопросы тру ооп - милости просим) это всегда интересно)

Елнур
11.02.2018
12:21:14
Объектно-ориентированный подход: Когда кода становится много, его нужно как-то разбить по процедурам. Когда процедур становится много, то их нужно как-то сгруппировать по обязанностям и разнести по модулям. Если несколько процедур и функций как-то связаны работой с одними и теми же данными, то их удобнее вместе с этими данными сгруппировать в объект. Но если просто возьмёте груду кода и просто перенесёте процедуры в классы, как я говорил на итенсиве, то не станете сразу объектно-ориентированным программистом. Это другой подход к компоновке кода. Целый отдельный образ жизни и мыслей. Настоящее ООП нацелено на разделение обязанностей и сокрытие информации.

Andrey
11.02.2018
12:21:17
чтобы писать на пхп?
А вы из тех 'PHP шлак!, php скоро умрет!'

Sergey
11.02.2018
12:22:09
А вы из тех 'PHP шлак!, php скоро умрет!'
нет, скорее из тех кто грустно пишет на php вкусив нормальных языков(

Sergey
11.02.2018
12:22:50
А вы из тех 'PHP шлак!, php скоро умрет!'
поддерживаем комьюнити, несем пхп в массы, контрибьютим в опенсорс, ну а так да, конечно же мы убиваем пхп

Andrey
11.02.2018
12:23:01
Sergey
11.02.2018
12:23:28
Зачем делать то что не нравится?
потому что не всегда надо делать только то что нравится)

Andrey
11.02.2018
12:23:36
4 краеугольных камня, хорошо

Sergey
11.02.2018
12:23:38
Зачем делать то что не нравится?
я где-то сказал что мне не нравится?

Google
Andrey
11.02.2018
12:24:17
потому что не всегда надо делать только то что нравится)
Лучшая работа это хорошо оплачиваемое хобби

Sergey
11.02.2018
12:24:25
4 краеугольных камня, хорошо
что если я скажу что наследование не нужно (ибо все о чем наследование покрывается полиморфизмом) а абстракция и инкапсуляция можно свести к information hiding?

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

ну и меня в php больше не язык а пользователи языка напрягают)

потому и сижу тут в чатике - глядишь кто-нибудь задумается о том что вся эта фигня с "4-мя краеугольными камнями" это бред наркомана и если все так почему никто не понимает эти камни

Andrey
11.02.2018
12:26:11
Я вот го собрался разбирать интересно мне

Ну симфони с пыхом пока кормит

Sergey
11.02.2018
12:26:32
как же ты без наследования там жить будешь?

Sergey
11.02.2018
12:26:42
структурный тайпинг и полиморфизм)

Andrey
11.02.2018
12:26:44
Я не крещеный справляюсь

Sergey
11.02.2018
12:27:23
Я не крещеный справляюсь
ну ты просто задумайся и дай определение принципу наследования (и чем это отличается от полиморфизма_

ну и еше - все это названное было ДО ооп

сильно так до

Andrey
11.02.2018
12:28:32
Так все же что с transchoice есть кто то, кто тупо работает не прибегая к высоким материям мира ООП?

Sergey
11.02.2018
12:29:21
с i18n наверное тебе тут не помогут

Sergey
11.02.2018
12:29:50
ну я пока даже вопроса конкретного не вижу

пока могу только в доки послать

Так все же что с transchoice есть кто то, кто тупо работает не прибегая к высоким материям мира ООП?
но это же ты начал задвигать про солиды, кисы и прочее) и при этом выходит так же как у тех кто не загоняется)

может быть чуточку лучше

Google
Andrey
11.02.2018
12:43:57
Жаль, спасибо. Интересная дискуссия, я поддерживаю использую и пропагандирую саморазвитие, иногда тоже страдаю задродством, в хорошем смысле слова. Но обычно на свой проект есть 2 - 3 часа на выходных, когда ребенок спит поэтому, тратить их на холивары о сферичечких конях нет времени да и желания. Главное во всех этих подходах понимать и оценивать, все риски и усложнения которые вызовут использование той или иной философии. Тупое следование SOLID приведет к краху проекта раньше чем проект может себе позволить. Поэтому очень часто проекты написаные на коленке работают лучше и решают свою задачу чем те которые потерялись в абстракциях. Мы говорим о высоких материях и они очень редко пересекаются с бизнессом. И потратить на разработку 100 лишних часов сегодня и избежать потери 1000 часов в будущем эторазные временные рамки для заказчика. И он выберет в 99% последнее. Ведь если разобраться то скрам тоже шлак так как приводит к быстрым релизам которые только увеличивают технический долг. Резюмируя все выше изложенное, во всем нужно разбираться, тупое следование чьим либо принципам это путь в никуда.

Sergey
11.02.2018
12:44:53
Жаль, спасибо. Интересная дискуссия, я поддерживаю использую и пропагандирую саморазвитие, иногда тоже страдаю задродством, в хорошем смысле слова. Но обычно на свой проект есть 2 - 3 часа на выходных, когда ребенок спит поэтому, тратить их на холивары о сферичечких конях нет времени да и желания. Главное во всех этих подходах понимать и оценивать, все риски и усложнения которые вызовут использование той или иной философии. Тупое следование SOLID приведет к краху проекта раньше чем проект может себе позволить. Поэтому очень часто проекты написаные на коленке работают лучше и решают свою задачу чем те которые потерялись в абстракциях. Мы говорим о высоких материях и они очень редко пересекаются с бизнессом. И потратить на разработку 100 лишних часов сегодня и избежать потери 1000 часов в будущем эторазные временные рамки для заказчика. И он выберет в 99% последнее. Ведь если разобраться то скрам тоже шлак так как приводит к быстрым релизам которые только увеличивают технический долг. Резюмируя все выше изложенное, во всем нужно разбираться, тупое следование чьим либо принципам это путь в никуда.
но мы тебе тупое и не предлагали)

мы как раз таки и акцентируем внимание на тупое следование документации например

Andrey
11.02.2018
12:45:14
Не важно дядя боб, фабиен или коллеги в чате :)

Всем всем спасибо за сим прощаюсь.

Sergey
11.02.2018
13:12:22
пока резюмирую список

- херовая дока у самой доктрины - дока симфони ориентированная на простые getting started сценарии использования - data driven подход к декомпозиции - боязнь джойнов накладывающая отпечаток на предыдущий пункт - попытки пихать в сущности логику приводят к нарушению SRP в силу предыдущих двух пунктов - желание заинджектить сервисы - "сложнее тестить" которое проистикает из веры что интеграционные тесты лучше изолированных (моки зло) или непонимание разницы - надо думать (а думать больно) - поиск и фильтрация, когда выборки в разы сложнее операций записи

Sergey
11.02.2018
13:14:44
а еще не всегда весь доменный слой манагается доктриной

Sergey
11.02.2018
13:15:00
а еще не всегда весь доменный слой манагается доктриной
ну вот у меня есть доктрина и пруф рядом

но как это влияет на логику в сущностях?

Sergey
11.02.2018
13:17:17
ну к примеру ордер может манагаться доктриной, а транзакции привязанные к этому ордеру приходят например из монги

Sergey
11.02.2018
13:18:08
а зачем ордеру транзакции?

Sergey
11.02.2018
13:18:18
и уже не выйдет сделать $order->pay(100);

Sergey
11.02.2018
13:18:23
хм...

мне кажется что ордер должен генерить инвойс а не транзакцию

а уже инвойс будет оплачен транзакцией

вдруг у тебя наличкой или карточкой

или внутренней валютой или можно вообще выбирать чем платить (хоть натурой)

ну и еще момент - как ты относишься к ивентам?)

просто как по мне платежки это отдельный контекст и он никак не должен пересекаться с непосредственно заказом

Google
Sergey
11.02.2018
13:21:14
инвойс может знать айдишку заказа и стоимость, транзакция знает айдишку инвойса

когда транзакция прошла - мы можем поменять статус заказа

Andrey
11.02.2018
13:24:01
Поддерживаю, только ивент должен быть перед созданием invocie и после.

Sergey
11.02.2018
13:30:19
и мы видимо про разные ивенты

я про доменные ивенты

Admin
ERROR: S client not available

Sergey
11.02.2018
13:30:41
которые чуть отличаются

Andrey
11.02.2018
13:32:16
если я не ошибаюсь это event на уровне микросервисов?

Правильно?

типо очередей сообщений для конкретного микросервиса.

Sergey
11.02.2018
13:34:50
какие к черту микросервисы?

нет, погугли про domain events если интересно

в этом ключе ивент это факт - что-то что уже произошло и никуда не денется

ты не можешь никак повлиять на это

только новой какой-то операцией которая компенсирует предыдущую (вроде статусов pending + paid)

Andrey
11.02.2018
13:38:03
А ок не с этим не работал по гуглю.

Sergey
11.02.2018
13:54:46
микросервисы еще откуда-то родил

Andrew
11.02.2018
14:40:24
1900 сообщений за 1.5 дня, я все прочитал)

даже больше чем в ООП и PHP)

Google
Andrew
11.02.2018
14:41:57
мне нравиться, у вас тут

поделюсь http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

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

Подскажите пожалуйста, как сделать поле уникальным и при этом nullable? Если чистый SQL будет примерно: CREATE UNIQUE INDEX UNIQ_57698A6A5E237E06 ON user (slug) WHERE user (slug) IS NOT NULL; * @ORM\Column(type="string", length=100, unique=true, nullable=true) Однако PgSQL ругаеться, что уже есть записи с NULL

Sergey
11.02.2018
15:26:40
из документации к постгре по интексам: > Null values are not considered equal.

так что надо смотреть где именно у тебя ругается, там уже как минимум 2-3 варианта

Andrew
11.02.2018
15:30:05
хорошо, буду искать, спасибо.

Владимир
11.02.2018
16:46:14
Считайте меня извращенцем, но учитывая, что у меня есть 3 клиента у моей API (браузерная админка, Android и IOS, при чем на каждый вид мобилки создается сразу два приложения, возможно разными разработчиками) и учитывая, что Upload через GraphQL создает необходимость выводить стандарт для всех платформ, в котором будет указано как GrapQL запрос сочетается вместе с файлами (блоб или мультипарт - без разницы), я решил не делать Upload через GrapQL вовсе. Буду открыть параллельно GrapQL еще один restfull Endpoint, с которым ни у кого не возникает вопросов и давать туда слать файлы. В ответ будут даваться имя скаченного файла или его идентификатор. Этот идентификатор я и буду уже сувать в GrapQL запрос Получается двух этапный запрос на сервер. Но в результате я имею бонус - работаю со скачанным файлом в мутациях как с полем данных, объявленным в схеме. А главеное - мне в разы меньше нужно согласований проводить с разработчиками клиентов.

Sergey
11.02.2018
16:47:16
Считайте меня извращенцем, но учитывая, что у меня есть 3 клиента у моей API (браузерная админка, Android и IOS, при чем на каждый вид мобилки создается сразу два приложения, возможно разными разработчиками) и учитывая, что Upload через GraphQL создает необходимость выводить стандарт для всех платформ, в котором будет указано как GrapQL запрос сочетается вместе с файлами (блоб или мультипарт - без разницы), я решил не делать Upload через GrapQL вовсе. Буду открыть параллельно GrapQL еще один restfull Endpoint, с которым ни у кого не возникает вопросов и давать туда слать файлы. В ответ будут даваться имя скаченного файла или его идентификатор. Этот идентификатор я и буду уже сувать в GrapQL запрос Получается двух этапный запрос на сервер. Но в результате я имею бонус - работаю со скачанным файлом в мутациях как с полем данных, объявленным в схеме. А главеное - мне в разы меньше нужно согласований проводить с разработчиками клиентов.
все так

Владимир
11.02.2018
19:50:47
http://symfony.com/doc/4.0/bundles/SensioFrameworkExtraBundle/annotations/routing.html WARNING: You are browsing the documentation for version 4.0 which is not maintained anymore. If some of your projects are still using this version, consider upgrading. Я что-то проспал? 4-я версия только появиться успела же!

Николай
11.02.2018
20:18:53
SensioFrameworkExtraBundle

актуальная 5-ая версия бандла

Владимир
11.02.2018
20:19:48
А, так это не версия симфони? ))

Vladislav
11.02.2018
20:26:52
не)

Dinar
12.02.2018
09:05:45
@fes0r В общем, посовещались с командой и перешли на твой хук cs-fixer. :D Спасибо большое ;)

Gaiaz Iusipov
12.02.2018
09:44:24
напомните ссылку на хук плиз) этот тот который фиксит или не дает пушить без фикса?

Dinar
12.02.2018
09:48:01
Который фиксит и сразу добавляет

Bohdan
12.02.2018
09:48:34
а скинь его еще раз, пожалуйста, сохраню себе куда-то

Страница 636 из 1418