
Maksim
24.11.2017
07:55:32

Andrei
24.11.2017
07:57:00
"всё говно кроме пчёл, а если подумать, то и пчёлы говно - главное МЁД"

Андрей
24.11.2017
07:57:18
Для тех кому не нравится yii2, но считает себя выше и поливает его, можно войти в разработчики yii2, все за них переписать, и показать им как пишется solid код

Maksim
24.11.2017
07:57:56
годный наброс, но не сработает)

Google

Eugene
24.11.2017
07:58:06
Подожгли знатно...

Серёга
24.11.2017
08:01:36
а вчера и сегодня никаких праздников случайно нет?)

alex
24.11.2017
08:02:44
черная пятница сегодня - это п...ц

Anton
24.11.2017
08:03:13
Давайте поконкретнее. А то говно/не говно.
Имхо у php ровно две (неисправимые) проблемы.
1) Проверка типов происходит на стадии выполнения, а не как в других языках при компиляции. Т.е. всегда есть шанс, что что-то где-то перепутали, и это вылезет в проде
2) читабельность не очень. Т.е. я указываю в тайпхинте тип array. А что это за array - хз. Было бы это как java и др List<User>, было бы круче. Но в пых это не завезут из-за п.1, слишком дорого для рантайма

alex
24.11.2017
08:04:20
Сколько можно писать минусы и плюсы php? Все уже их знают

Серёга
24.11.2017
08:05:11

alex
24.11.2017
08:05:28
сколько лет работают все минусы php перекрываются минусами реализации!

Vitaliy Nameless
24.11.2017
08:12:11

Maksim
24.11.2017
08:12:26

Vitaliy Nameless
24.11.2017
08:13:06
ну вообще да. иногда полезно пописать на плохих фреймворках, чтобы в итоге осознать, что они действительно плохие и главное - почему они плохие

Серёга
24.11.2017
08:14:16

Vitaliy Nameless
24.11.2017
08:14:39
любой опыт полезен

Серёга
24.11.2017
08:14:49
+

Google

Alexandr
24.11.2017
08:23:30
Проблема такая: есть база с текстом
|id|text|image|
|1|text1|url1|
|2|text2|url2|
Как сделать что бы к одному тексту можно было добавлять много изображений?

Vitaliy Nameless
24.11.2017
08:24:21
Дополнительная таблица, вестимо
One2many
А лучше мэнитумэни
То есть ещё связка
Но да это фигня. Лучше скажите, бывало ли у вас такое, что вы начинали изучение нового языка или технологии и бросали от омерзения и неприятия?

Pavel
24.11.2017
08:26:43

Vitaliy Nameless
24.11.2017
08:26:56
Лол

Andrei
24.11.2017
08:27:06
питон только со второй попытки зашел, эрланг ...

Vitaliy Nameless
24.11.2017
08:27:12
Ну ок своеобразен, как любой функциональный язык
У меня такое было с обжектив си
Вот это я вам скажу.. брррр

Pavel
24.11.2017
08:27:50

Vitaliy Nameless
24.11.2017
08:28:17

Anton
24.11.2017
08:28:37
си. Когда наткнулся на многостраничное обсуждение того, как правильно конкатенировать строки, чтобы ничего не наебнулось, понял, что си - точно не моё.

Erzhigit
24.11.2017
08:28:49

Vitaliy Nameless
24.11.2017
08:29:39

Andrei
24.11.2017
08:30:02
пф, си и строки это еще та чернуха, а не привиди, еще связаться с utf-8

Pavel
24.11.2017
08:33:06

Erzhigit
24.11.2017
08:36:14
Ларевл как я знаю с шаблонизатор есть без него никак

Google

Erzhigit
24.11.2017
08:36:47
Вот yii без шоблонизатор

Vitaliy Nameless
24.11.2017
08:38:47

Pavel
24.11.2017
09:00:02

Dmitry
24.11.2017
09:01:03
;)

Pavel
24.11.2017
09:01:46
Люди которые борются за солид и прочий data mapper - это как борцуны за коммунизм. Борятся самоотверженно и за добро, но в конце концов проигрывают и идут работать на основателей говнокодеров.

Dmitry
24.11.2017
09:03:39
при этом не оставляя пропаганду за солид и против ар и сл ;)

Pavel
24.11.2017
09:03:45

Dmitry
24.11.2017
09:04:42
За DI! - прокричал он, и тихо тихо написал $this->container->get... :)
к слову симфоня с автосервисингом и автовайрингом стала такая лапа ;) хренакс хренакс и в продакшн ;)

Pavel
24.11.2017
09:07:24

Pavel
24.11.2017
09:07:55
?

Dmitry
24.11.2017
09:08:56

Pavel
24.11.2017
09:09:35
Нуда, но DI просто реальзуется с помощью IoC
DI вещ очень абстрактная как по мне

Dmitry
24.11.2017
09:10:55
IoC - абстрактная вешь, так как это принцип ;) а DI - вполне себе конкретная

Vladimir
24.11.2017
09:26:07

Vitaliy Nameless
24.11.2017
09:41:18

Anatoly
24.11.2017
09:52:36

Vitaliy Nameless
24.11.2017
09:53:38
xml в помощь :)
нафига воротить велосипеды, когда можно сделать таблицу связок?

Anatoly
24.11.2017
09:53:48

Google

Algis
24.11.2017
09:54:06
нафига воротить велосипед, БД какая ? :)

Anatoly
24.11.2017
09:54:37

Pavel
24.11.2017
09:57:00

Anton
24.11.2017
10:46:48
Не понял хохмы, чем тебе не нравится IoC ?
$this->container->get - это пример сервис локатора. Короче, в идеальном коде классы получают все свои зависимости через конструктор, а не из сервис-локатора или Yii::$app какого-нибудь
А принципы SOLID вы зря хороните имхо
Что из них устарело? Давайте конкретно обсудим

Dmitry
24.11.2017
10:49:10
ну Барбаре Лисков уже 78 лет... старовата, разве нет?

Anton
24.11.2017
10:50:08
Ну, это вкусовщина :) Кому-то может и нравится )

Andrei
24.11.2017
10:52:58
http://cs8.pikabu.ru/post_img/big/2016/02/29/6/145673352818127463.jpg

Admin
ERROR: S client not available

Pavel
24.11.2017
11:00:17

Anton
24.11.2017
11:00:50
принцип ISP
(из SOLID )

Adel
24.11.2017
11:02:03
твои классы вообще о контейнере не должны знать ничео

Anton
24.11.2017
11:02:53
Поэтому Yii мне и не оч. нравится. Там всё идет через статику. Yii::$app и проч. По сути глобальные переменные под другим соусом

Dmitry
24.11.2017
11:03:09
как пишешь, так и идет ;)
http://www.yiiframework.com/doc-2.0/yii-di-container.html

Anton
24.11.2017
11:06:53
ну, это да
кстати, на уровне контроллера можно и Yii::$app наверно использовать, ничего страшного не случится. Но вот дальше - ни ни

Google

Dmitry
24.11.2017
11:08:59
ну если он не толстый, то наверное да ;)
тут вопрос в том - легко ли фреймоврк дает возможность использовать контроллер как сервис... если да, то почему бы и не инжектировать зависимости...

Anton
24.11.2017
11:10:40
согласен

Adel
24.11.2017
11:12:16
для контроллера достаточно должно быть action parameters injecting.

Pavel
24.11.2017
11:13:22
Вот я в симфони передаю контроллеру контейнер
он делает копию контенера в котроллере,
?
через setContainer в интерфейсе

Dmitry
24.11.2017
11:14:31

Adel
24.11.2017
11:14:38
а че не?
хотя общие можно и контруктором принять
у меня обычно все просто
getAction($someId, SomeQuery $query)
postAction($someId, SomeRequest $request, SomeCommand $command)

Dmitry
24.11.2017
11:16:08
ну типа если конструктор стал огромный - повод задуматься, а не пора ли нам... контроллер... разделят ;)
у мню тут джун сделал контроллер... SiteController :) один на весь сайт... "а чо, ну у нас же сайт один, и с ним экшены происходят" ;)
не, я раньше в симфе в контроллер и команды контейнер прокидывал... ну возни меньше, а щас с автосервисами и автовайрингом почему бы и не инжектирование - никаких особых лишних телодвижений типа ;)

Adel
24.11.2017
11:19:13
вот и симфоня доросла до этого :)
долго шла :)

Dmitry
24.11.2017
11:19:54
попсово слишком было, имхо, для такого серьезного фреймворка ;)

Adel
24.11.2017
11:20:06
дадада

Dmitry
24.11.2017
11:24:45
я тут узнал про embeddable в доктрине... посыпал голову пеплом дого, почему раньше не знал, с типами мучался ;)