
finkel
15.12.2016
20:09:50

Sergey
15.12.2016
20:10:05
)
все так делали
и изредка это нормально

Google

Ivan
15.12.2016
20:12:02
в бест практисес об этом говорится?
It is important to constrain relationships as much as possible. This means:
-Impose a traversal direction (avoid bidirectional associations if possible)
-Eliminate nonessential associations
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/best-practices.html

Sergey
15.12.2016
20:12:48
ты сам ответил на свой вопрос)
https://www.youtube.com/watch?v=rzGeNYC3oz0
рекомендую

finkel
15.12.2016
20:14:09
а еще как плюс, это то, что когда у тебя все одним запросом делается и тебя просят сделать разовый отчет, похожий на тот в админке... ты просто выдираешь запрос чуть правишь его, запускаешь напрямую и выгружаешь данные)

Sergey
15.12.2016
20:14:40
вот Марко об этом же и говорит. Нужен репорт - пиши sql

Ivan
15.12.2016
20:14:40
опа, давно хотел посмотреть, мерси за ссылку

Sergey
15.12.2016
20:15:42
не ну как удобно, иногда просто dql не хватает
я в большинстве случаев dql пишу

finkel
15.12.2016
20:16:28

Sergey
15.12.2016
20:17:11

Google

Sergey
15.12.2016
20:17:20
а вообще native sql в доктрине весьма удобно писать

Ivan
15.12.2016
20:20:34
da horsie отметился)

finkel
15.12.2016
20:21:17
а в чем прикол dql?)

Sergey
15.12.2016
20:21:36
ну ты привязываешься к названию полей в сущностях а не в базе

ModerBot
15.12.2016
20:21:38
Привет, Alexander! Пожалуйста соблюдай правила и не ругайся
/help@AngryModerBot

finkel
15.12.2016
20:22:21
просто на работе мне сказали "а почему бы и не dql"

Alexander
15.12.2016
20:28:05
Добрый вечер, нужен разработкик на symfony. Есть свободные, готовые взять не сложный проект?

Sergey
15.12.2016
20:28:37
$30/h и можно говорить дальше

finkel
15.12.2016
20:29:02

da horsie
15.12.2016
20:33:15
30 это реальная рыночная цена?

Sergey
15.12.2016
20:33:36
в смысле? мало?

da horsie
15.12.2016
20:36:11
наоборот
я думал меньше

Sergey
15.12.2016
20:36:39
ну в целом средняя стоимость по минску где-то $20/h
но я с такими тугими ребятами по этой цене работал...

da horsie
15.12.2016
20:37:09
хмм

Sergey
15.12.2016
20:37:14
ну короч... стоимость разработчика штука такая
ты можешь встретить как дорогое дно так и дешевого гения
весь вопрос кто из них умеет себя продавать

Google

da horsie
15.12.2016
20:38:04
ну это как везде

finkel
15.12.2016
20:40:14
ну судя по тому, что я читаю, 30 это гуманно)

da horsie
15.12.2016
20:51:10

Ivan
15.12.2016
20:51:34
топчик апворка https://www.upwork.com/hire/php-developers/

Salavat
15.12.2016
20:54:02

Ivan
15.12.2016
20:54:12
ага(
странно как-то User->getUsername() преобразился в User->toNickname()

Sergey
15.12.2016
21:24:29
бывает

Ivan
15.12.2016
21:44:43
это по выступлению Марко
12:40 примерно

Sergey
15.12.2016
21:46:34

Ivan
15.12.2016
21:47:10
ааа, это то самое другое мышление

Sergey
15.12.2016
21:48:25
ну мол не "достал деталь реализации" нарушив инкапсуляцию и закон Деметры, а попросил юзера стать строкой в определенном представлении
типа как
$money = new Money(10, Currency::USD());
$money->toString(); // $10.00

da horsie
15.12.2016
21:49:55
toNickname() у меня в голове звучит как "объект класса Nickname"

Sergey
15.12.2016
21:50:18
эм...
странно
а у меня звучит как "превратись в никнейм"

da horsie
15.12.2016
21:50:39
ну по аналогии с toString()

Google

Sergey
15.12.2016
21:50:45
"превратись в строку"

da horsie
15.12.2016
21:50:49
да
а тут превратиться в Никнейм
который хз что
класс какой-то

Sergey
15.12.2016
21:51:04
ну... тут String не тип
это именно "строка"
общий термин
не тип данных

Admin
ERROR: S client not available

Sergey
15.12.2016
21:51:25
просто этой штуке (строке) есть соответствующий тип данных
ну или вот прикол

da horsie
15.12.2016
21:51:48
toString() вообще мне кажется херовое название

Ivan
15.12.2016
21:52:09
возможно что-то типа asNickname

da horsie
15.12.2016
21:52:36
$currency->format() у меня более положительные эмоции вызывает
хотяхз
мож я загоняюсь

Sergey
15.12.2016
21:53:15
блин я хочу в php дженерики и элиасы для типов

da horsie
15.12.2016
21:53:25
я тоже

Ivan
15.12.2016
21:53:27
примерно понял, уходим от сеттеров и геттеров и приходим к более абстрактным поведенческим методам

Google

da horsie
15.12.2016
21:53:41
ну типа да

Sergey
15.12.2016
21:53:46
type OrdinaryPayment = Transaction<OrdinaryPayment>;

da horsie
15.12.2016
21:54:32
Бугаенко примерно ту же идею толкает
только возведенную в абсолют

Ivan
15.12.2016
21:55:02
это как в шарпе?

da horsie
15.12.2016
21:55:19

Sergey
15.12.2016
21:55:53
ну мол ты в php такое не сможешь сделать ненарушив LSP

da horsie
15.12.2016
21:56:19
почему же?

Sergey
15.12.2016
21:56:32
ну а как ты собираешься это сделать?
OrdinaryPayment implements Transaction?

da horsie
15.12.2016
21:56:46
ну да

Sergey
15.12.2016
21:56:57
ну такое...

da horsie
15.12.2016
21:57:01
почему?

Sergey
15.12.2016
21:57:27
хм.... хз
)
ладно

da horsie
15.12.2016
21:58:28
class TransactionalPayment implements Transaction, Payment { __constuct(OrdinaryPayment $payment)
вроде того
конструктор не является частью интерфейса же
Барбара довольна

Roman
16.12.2016
06:15:11