
vlad
06.07.2017
14:16:26
Спасибо, проблема решена!
ребят, кто-нибудь знает как использовать pcntl_fork в команде??
Attempted to call function "pcntl_exec" from namespace
Пока всё, что получил - это это
или лучше сразу копать в сторону process?

Sergey
06.07.2017
21:44:16

Google

Sergey
06.07.2017
21:44:24
зачем тебе вообще fork понадобился?
ну то есть тебе надо именно клонировать процесс или тебе именно exec интересует?

vlad
06.07.2017
21:44:54
просто до этого знал только C++, ну вот на чём привык рождать детей в linux, то и хотел использовать)

Sergey
06.07.2017
21:45:14
в C++ тоже помимо fork + exec были способы запустить дочерний процесс
это больше фича системного API нежели языка
popen к примеру там такой же как и в PHP (почти)

vlad
06.07.2017
21:46:20
а не подстажете, каким образом мне передать просто исполняемый код в Process?
т.е. сделать аналогию:
$pid = pcntl_fork();
if ($pid == 0) {
}
else {
}
Т.е. чтобы не выносить код, который исполняется, в команду, а использовать его напрямую, прямо тут
или это плохой тон и лучше вынести в команду?

Sergey
06.07.2017
21:46:38
вынеси в команду
если код дублируется - выносишь дублирование в сервис
в идеале логики в сервисе быть не должно
ой
в команде

Google

vlad
06.07.2017
21:47:35
Хорошо, спасибо за советы
Сейчас попробую

Serg
07.07.2017
06:08:43
/link@yetanotherstatsbot
/stat@combot

Combot
07.07.2017
06:08:44
combot.org/chat/-1001091570538

Sergey
07.07.2017
06:55:42

Алексей
07.07.2017
08:28:04
Господа, напомните, как обзывается чатик, где ищущие работу разработчики и куда HR кидают вакансии?
Тут уже какого-то HR туда посылали пару раз.

Sergey
07.07.2017
08:29:31
@php_jobs наверное

Алексей
07.07.2017
08:30:02
Благодарю.

Sergey
07.07.2017
10:20:21
привет, есть заказ, к заказу можно применить скидку $order->applyDiscount($discount). Вопрос вот в чем, в разный момент времени с заказом могут происходить разные действия (например накинули товара) и каждый раз нужно скидку применять по новой, чтобы все пересчиталось. Куда поместить этот пересчет? Навскидку подумалось поместить в событие доктрины, если есть скидка пересчитать, а потом записать в бд. Но в событиях доктрины этому явно не место?

Max
07.07.2017
10:27:35
так вызывай перерасчет в методе который изменяет состояние твоего order
$this->recalcDiscount()
это же кейс которые есть в бизнес логике - накидали товаров -> пересчитали скидку

Sergey
07.07.2017
10:29:44
ивенты выполняются аж в uow, поэтому у тебя пока не запишешь чет в базу будет неправильно дисконт показывать. так что тут как Макс говорит надо

Sergey
07.07.2017
10:31:31
понял, спасибо

Дмитрий
07.07.2017
10:32:46
$html = $this->getHtml("findticket.pl?TT=" . $ticket);
$crawler = new Crawler($html);
$table = $crawler->filterXPath(".//*[@id='staff_table_comments']");
как мне получить html этой таблицы чтобы мог вывести у себя

Denis denya Voskoboinik
07.07.2017
10:35:25
$crawler ->html()

Mihail
07.07.2017
10:36:23
ну че как вы тут живи здоровы?, все норм ?

Oleksandr
07.07.2017
10:41:14

Google

Mihail
07.07.2017
11:04:33
опа какие люди
и ты уже тут )

Oleksandr
07.07.2017
11:24:28
Ну так а шо
Долго что ли

Mihail
07.07.2017
12:12:19
)))

Jan
07.07.2017
12:31:01
А в Симфони 3.3 wildcard в определении сервиса работает не только в конце строки, но и где-нибудь посередине? Типа такого сработает?
AppBundle\:
resource: '../../src/AppBundle/*/Foo/Bar'

Daniel
07.07.2017
12:58:34
Как может быть такое, что доктрина видит только 2 записи из 10?
Скопировал полностью запрос
$query = $this->handleFilterRequest($request, $filterForm)
->setMaxResults(10)
->getQuery();
Postgres

Ivan
07.07.2017
13:00:11

Daniel
07.07.2017
13:01:12
Блина.. да, id один и тот же - 62
Как то не так лимитирует

Ivan
07.07.2017
13:13:44
используй \Doctrine\ORM\Tools\Pagination\Paginator

Max
07.07.2017
13:24:00
можешь еще distinct попробовать

Ivan
07.07.2017
13:35:48

Sergey
07.07.2017
14:05:03

Google

Ivan
07.07.2017
14:22:44

Yet Another Stats
07.07.2017
15:24:02
https://yasb.exileed.com/telegram/chat/1001091570538

Dinar
07.07.2017
15:58:07
Да откуда я так много сообщений-то написал???

Artur
07.07.2017
18:40:45
https://www.youtube.com/watch?v=d5gQW7y0O4s

Admin
ERROR: S client not available

Ivan
08.07.2017
07:54:08
привет всем. подскажите, можно ли заставить симфони форму работать так:
сабмит => валидация данных => маппинг на объект?

Константин
08.07.2017
07:59:34
Если форме на вход приходит объект, она валидирует объект. Если пришли просто данные (массив) она валидирует массив. Если после валидации массива надо сделать маппинг на объект, делаешь $form->getData() и маппишь на объект. Это уже не задача формы, её работа закончена.

Ivan
08.07.2017
08:02:26
маппинг на объект самостоятельно, получается
ну вообще, да

Константин
08.07.2017
08:04:52
Можно через ModelTransformer твой объект конвертировать в DTO, форма будет валидировать его, а после валидации вернёт твой объект сконвертированный из DTO
http://symfony.com/doc/current/form/data_transformers.html

Ivan
08.07.2017
08:08:03
а валидация разве не над modelData проводится?

Константин
08.07.2017
08:12:48
Валидируется NormData
Просто без использования ModelTransformers NormData не отличается от ModelData

Sergey
08.07.2017
08:20:12
а валидация разве не над modelData проводится?
есть два типа валидации:
- валидация входящих данных, что бы выдать где пользователь ошибся
- валидация согласно бизнес правилам и ограничениям, что-то в духе "ты не можешь создать юзера не указав email".
Это сильно разные процессы
ты можешь сделать так что бы валидация происходила на любом уровне.
но я не понимаю почему бы процесс который ты описываешь не сделать так:
данные -> form -> dto -> далее в систему
это как бы намного проще и лучше с точки зрения разделения ответственности.
потому что если внезапно твоя форма затребует данные из 3-х объектов, тебе будет проще сделать для этого 1 dto и там уже потом разбираться. А так ты будешь нутро системы под формы подгонять ибо лень

Ivan
08.07.2017
08:23:50

Google

Ivan
08.07.2017
08:24:44
"ты не можешь создать юзера не указав email", так и это тоже, я считаю всё это как одно
ты указал неверный email, ты не указал email
DTO специально для формы получается, поэтому я хочу их "вместе держать"
просто в форме есть normData (DTO) и modelData (Model) мне вот Константин подскзал, что это можно заюзать

Sergey
08.07.2017
08:27:22

Ivan
08.07.2017
08:27:45

Sergey
08.07.2017
08:29:57
ну да, но это та же валидация, просто немного с другой целью

Ivan
08.07.2017
08:38:03
сделаю одно DTO и в трансформере промаплю на три объекта
хотя если требуется, чтобы эти объекты менялись в какой-то последовательности, либо в разных транзакциях, то эту логику придётся в трансформер пихать

vlad
09.07.2017
08:01:24
ребят, всем привет
спрашивал уже как-то, но дошли руки и хочется уточнить
проблема в следующем:
очень много дублирующегося кода в командах
куда его вынести?