@symfony_php

Страница 250 из 1418
vlad
06.07.2017
14:16:26
Спасибо, проблема решена!

ребят, кто-нибудь знает как использовать pcntl_fork в команде?? Attempted to call function "pcntl_exec" from namespace Пока всё, что получил - это это

или лучше сразу копать в сторону process?

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

Алексей
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
Как может быть такое, что доктрина видит только 2 записи из 10?
видно только корневые сущности (2), внутри у них коллекции (размером 7 и 1)

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

Как то не так лимитирует

Ivan
07.07.2017
13:13:44
$query = $this->handleFilterRequest($request, $filterForm) ->setMaxResults(10) ->getQuery();
если выбираются связанные коллекции, то setMaxResults не работает так, как ты хочешь

используй \Doctrine\ORM\Tools\Pagination\Paginator

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

Ivan
07.07.2017
13:35:48
Google
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 и там уже потом разбираться. А так ты будешь нутро системы под формы подгонять ибо лень

Google
Ivan
08.07.2017
08:24:44
"ты не можешь создать юзера не указав email", так и это тоже, я считаю всё это как одно

ты указал неверный email, ты не указал email

DTO специально для формы получается, поэтому я хочу их "вместе держать"

просто в форме есть normData (DTO) и modelData (Model) мне вот Константин подскзал, что это можно заюзать

Sergey
08.07.2017
08:27:22
ты указал неверный email, ты не указал email
ну тут прикол в том что невалидное DTO для формы ты можешь создать (что бы провалидировать) а вот невалидного юзера 0 нет. Ну мол у тебя проверка где-то в коде будет.

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

Ivan
08.07.2017
08:38:03
сделаю одно DTO и в трансформере промаплю на три объекта

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

vlad
09.07.2017
08:01:24
ребят, всем привет

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

куда его вынести?

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