
Denis denya Voskoboinik
14.07.2017
06:57:46
вообщем как красиво сделать что-то такое:
public function getActiveClientByName()
{
$qb = $this->getClient();
$qb = $this->ByName($qb, 'petya');
$qb = $this->active($qb);
$qb->getQuery()->getResult();
}
private function getClient()
{
$queryBuilder = $this->createQueryBuilder('client')
->where('client.projectManager = :projectManager');
return $queryBuilder;
}
private function ByName(QueryBuilder $queryBuilder, $name)
{
return $queryBuilder
->where('name = :name')
->setParameter('name', $name);
}
private function active(QueryBuilder $queryBuilder)
{
return $queryBuilder
->where('active = 1');
}

Daniel
14.07.2017
06:58:19
https://github.com/rikbruil/Doctrine-Specification
Интересная тема ваще
$spec = new Specification([
new Equals('ended', 0),
new OrX(
new LessThan('endDate', new \DateTime()),
new AndX(
new IsNull('endDate'),
new LessThan('startDate', new \DateTime('-4weeks'))
)
)
]);

Google

Daniel
14.07.2017
06:58:38
И как бы где надо - заюзал
DRY motherfucker

Ivan
14.07.2017
07:01:27
https://github.com/Happyr/Doctrine-Specification
такая ещё есть

Denis denya Voskoboinik
14.07.2017
07:02:51
круто, вроде то что искал, но думал как-то попроще, смотря на это код становится немного непонятнее)
нет, это все таки офигенно и то что я искал, спасибо!

Dmitriy
14.07.2017
07:10:27
можно отдельные классы спецификаций создавать

Dmitry
14.07.2017
07:57:34
Кто может помочь, есть проблемка, не могу понять в чем загвоздка:
Есть форма ProfileType, а в ней вложенная форма
->add('experiences', CollectionType::class, [
'label' => false,
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'entry_type' => ExperienceType::class,
])
когда я сабмитю форму $form->handleRequest($request); в ней одни null, данные не записываются.. Кто может подсказать в чем проблема?
данные в Request попадают норм, в $request->request все есть, но в Entity не попадают
а точнее в родительскую форму попадают данные, а в дочерние - нет(

Ivan
14.07.2017
08:57:09
смотри в профайлере, может чего найдёшь

Dmitry
14.07.2017
09:03:52
там ничего нету, все в порядке
Только ошибка Type error: Return value of AppBundle\Entity\Company::getName() must be of the type string, null returned из-за того, что в дочерние формы ничего не записывается

Google

Ivan
14.07.2017
09:50:29
тяжело так ответить

Dmitry
14.07.2017
09:52:18
с этим тоже все норм..
[▼
"firstname" => "Dmitry"
"lastname" => "Khaperets"
"email" => "khaperets@gmail.com"
"experiences" => [▼
[▼
"position" => "ssssssssssss"
"location" => "SSSSSSS"
"company" => [▼
[▼
"name" => "Sxsxasx"
]
]
"startDate" => [▶️]
"endDate" => [▶️]
]
]
"btn" => ""
"_token" => "snO8YlE-gfR4p1MKsTHGQzdFr117ka64vHl9d2iPafk"
]

Ivan
14.07.2017
09:54:09
и где null'ы ? в каждом элементе experiences ?
или в каждом филде элемента experiences?

Dmitry
14.07.2017
09:57:20
experiences и company
Проблема была в том, что в entity были прописаны возвращаемые значения для get*** методов. К примеру public function getPosition(): string
При сабмите формы, сначала вызывались get**** методы, а только после set***

Pavel
14.07.2017
12:02:17
Такой вопрос, стоит ли в репозитории инжектить докриновский ManagerRegistry(по совету https://blog.fervo.se/blog/2017/07/06/doctrine-repositories-autowiring/) или же взять просто EntityManagerInterface и не париться?

Serg
14.07.2017
12:44:30

Ivan
14.07.2017
13:53:58

Borys
14.07.2017
19:10:37
возможно кому-то понадобится - форму под названием search лучше не создавать - вылезает дополнительный input, судя по всему зарезервированное название, хотя не совсем логично. Факт - меняю название entity, формы и доп. input исчезает

Bohdan
14.07.2017
19:27:51
ребят, такой вопрос
есть бандл, определяющий собственный конфиг
мне нужно в один из сервисов этого бандла заинжектить опционально один из параметров его же конфига
если сделать это просто через %?parameter% - будет ли работать адекватно?

Sergey
15.07.2017
14:57:56

Bohdan
15.07.2017
16:12:54
уже провел
если параметр не определён - тогда он null, все просто

Sergey
16.07.2017
21:58:33
так. вернусь к вопросу... юзает ли кто-то тут AOP?

Daniel
16.07.2017
23:26:12
https://habrahabr.ru/post/333398/
Ура, мясо

Google

Daniel
16.07.2017
23:27:21
О, fesor (Сергей) уже тама

Jan
17.07.2017
05:56:52
Всем привет. Есть вопрос. Есть сущность Wish, есть Moneybox — Value Object. Создается он в конструкторе как-то так:
$this->moneybox = new Moneybox($this, $this->expense->getInitialFund());
Можно ли как-то заставить Доктрину инициализировать поле moneybox, не прибегая к Lifecycle Callbacks? А то как-то некрасиво получается.
Типа желание и копилка под это желание.

Sergey
17.07.2017
06:08:38
а чем калбеки не нравятся? там как раз after load подходит отлично
можно свой маппинг сделать еще
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/advanced-field-value-conversion-using-custom-mapping-types.html

Jan
17.07.2017
06:13:28
Да хотел вроде как полную отвязку от persistence-слоя сделать) Так-то оно вроде норм отрабатывает.
Кастомные типы тоже тема, я парочку таких для идентификаторов сделал.

Артур Евгеньевич
17.07.2017
08:24:18
Ребята объясните что такое компайл пас в симфе

Sergei
17.07.2017
08:26:39
Отвечает за досборку контейнера по нужным тебе правилам в разных точках жизненного цикла процесса сборки оного.

Артур Евгеньевич
17.07.2017
08:45:37
Есит где подробнее на русском почитать?

Sergey
17.07.2017
10:38:53
на русском вряд ли, а вообще тут вся инфа про компиляцию https://symfony.com/doc/current/components/dependency_injection/compilation.html

Alexandr
17.07.2017
11:22:59
Всем привет. Начинаю новый API-based проект на symfony. Есть несколько вопросов:
- Что можно использовавть как замену Forms. Интересует валидация, CSRF токены, маппинг на DTO обьекты
- Запросы могут приходить от разных доменов. Нормально ли будет сделать листенер который будет добавлять переменную context (обьект домена) в Request?
- Планируется динамический обьект Order. В нем будет OrderType, который должен управлять тем какие поля необходимо заполнять и рендерить на фронте. Делал ли кто то что то подобное, какие подводные камни могут быть?

Константин
17.07.2017
11:37:34

Sergey
17.07.2017
12:24:43
Alexandr
зачем CSRF в API? валидацию можно без форм юзать и валидировать напрямую обьекты. маппиг через сериализатор
добавлять нормально. https://symfony.com/doc/current/routing/extra_information.html
с динамическим обьектом я не понял. если пишется апи, то какой рендеринг?


Alexandr
17.07.2017
12:56:48
Alexandr
зачем CSRF в API? валидацию можно без форм юзать и валидировать напрямую обьекты. маппиг через сериализатор
добавлять нормально. https://symfony.com/doc/current/routing/extra_information.html
с динамическим обьектом я не понял. если пишется апи, то какой рендеринг?
По динамическим объектам. Если вкратце есть различные типы заказов,
и для каждого типа должны быть различные типы полей с различными вариантами. От того чем их заполнят будет меняться цена Order.
Типы заказов должны управляться на стороне API.
Например:
StandardOrderType
- Delivery time (10days, 20days, 30days)
- PageCount (любое число)
VideoOrderType
- DeliveryTime (20days, 40days)
- Length (5 min, 10 min)
- Resolution (480px, 720px, 1080px)
SlideOrderType
- DeliveryTime (20days, 40days)
- Slides (10, 20)
Это я планировал сетить в Order, и дальше как то его считать и т.д. Хотя уже пока описывал что мне надо понимаю что не самый лучший подход.
По рендерингу имеется ввиду что должен буду отдать на фронт информацию о том с чего состоит OrderType что бы он знал что рендерить.
[
{
label: DeliveryTime
type: select
options: [10, 20, 30]
},
...
]


Alexey
17.07.2017
13:03:45
Ребят, ищем Middle-Senior or Senior PHP/Symfony Developer с возможностью релокейта в Одессу

Borys
17.07.2017
13:19:14
дай ссылку на ваккансию, релокейт даете?

Google

Alexey
17.07.2017
13:30:52
Релокейт присутствует
ссылку могу в личку кидать, что бы не спамить тут

Mikhail
17.07.2017
13:32:20
да ладно шли, всем интересно

Admin
ERROR: S client not available

Daniel
17.07.2017
13:34:06
+

Alexey
17.07.2017
13:38:19
https://www.linkedin.com/feed/update/urn:li:activity:6290565343878397953/

Serg
17.07.2017
13:43:53
*Certification*
– CLI tool to train certifications
https://github.com/certificationy/certificationy-cli
– Symfony 3 certification guide
https://github.com/raulconti/symfony-3-certification-guide
– Symfony certification preparation list
https://github.com/ThomasBerends/symfony-certification-preparation-list


Sergey
17.07.2017
14:12:59
По динамическим объектам. Если вкратце есть различные типы заказов,
и для каждого типа должны быть различные типы полей с различными вариантами. От того чем их заполнят будет меняться цена Order.
Типы заказов должны управляться на стороне API.
Например:
StandardOrderType
- Delivery time (10days, 20days, 30days)
- PageCount (любое число)
VideoOrderType
- DeliveryTime (20days, 40days)
- Length (5 min, 10 min)
- Resolution (480px, 720px, 1080px)
SlideOrderType
- DeliveryTime (20days, 40days)
- Slides (10, 20)
Это я планировал сетить в Order, и дальше как то его считать и т.д. Хотя уже пока описывал что мне надо понимаю что не самый лучший подход.
погугли json polymorphic serialization, ты ее пытаешься сделать
из минусов - клиентам где юзается десериализация придется это имплементить это

Pavel
17.07.2017
17:01:57
Что нужно сделать чтобы из локалки можно было подключаться к докеру (в частности mysql, nginx)? Смог максимум подключиться на localhost:80

Sergey
17.07.2017
17:49:04
порты пробросил?

Vladimir
17.07.2017
17:54:26
По динамическим объектам. Если вкратце есть различные типы заказов,
и для каждого типа должны быть различные типы полей с различными вариантами. От того чем их заполнят будет меняться цена Order.
Типы заказов должны управляться на стороне API.
Например:
StandardOrderType
- Delivery time (10days, 20days, 30days)
- PageCount (любое число)
VideoOrderType
- DeliveryTime (20days, 40days)
- Length (5 min, 10 min)
- Resolution (480px, 720px, 1080px)
SlideOrderType
- DeliveryTime (20days, 40days)
- Slides (10, 20)
Это я планировал сетить в Order, и дальше как то его считать и т.д. Хотя уже пока описывал что мне надо понимаю что не самый лучший подход.
я может что то упустил, но у JMS serializer есть контексты, которыми ты можешь разруливать, что будет упаковываться, плюс можно подвязываться на ивенты и добавлять логики до и после сериализации

Pavel
17.07.2017
17:59:25

Alexey
17.07.2017
20:25:34
Посмотри, не юзает ли 80 порт скайп

Pavel
18.07.2017
05:09:57

Andrew
18.07.2017
05:29:25

Sergey
18.07.2017
10:06:04
> Bernhard Schussek and Abdellatif Ait boudad resigned from their core team member status
хм, симфони формы все?

Daniel
18.07.2017
10:44:31
У меня какая-то странная трабла, есть структура папки:
`
web/dev/css
— app.css
— developer.css
— ....css
`
Если к сайту обращаюсь через /dev/css/app.css - 404 Not Found
Если кладу app.css на директорию выше (/dev/app.css) - все работает.
Второй раз с этим сталкиваюсь.
Мой NGINX конфиг - https://pastebin.com/tbwBYe9t

Sergey
18.07.2017
10:47:03

Google

Sergey
18.07.2017
10:47:07
мне пофиг)

Sergey
18.07.2017
10:47:32

Sergey
18.07.2017
10:48:09
привет, немного не в тему, но подскажите плиз как можно понять что два физических адреса равны?

Sergey
18.07.2017
10:49:39
или ты за гео адреса?)

Sergey
18.07.2017
10:52:09
гео)))
у юзера в UI есть список адресов, вот думаю добавлять в адрес id или же можно без него обойтись

Daniel
18.07.2017
10:53:54
А широта-долгота ~ какие-то минимальные погрешности не?

Borys
18.07.2017
10:55:08
я вообще решал такие вещи радами
ща дам линк
http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates
у меня все получилось, задаешь радиус который нужен и будет тебе счастье... для определения координат можно использовать что-то вроде google API places там ограничение до 1к запросов в сутки

Alexey
18.07.2017
11:02:53
Привет гайз. Напоминаю, что в Одесский офис компании OpticsPlanet требуются Middle-Senior / Senior PHP Developers с помощью в релокейте. Хорошие зарплаты в валюте наликом, отпуска, больничные и прочая хрень. Кофе, печеньки, хороший коллектив профессионалов, большие высоконагруженные проекты. Работа не проектная, а постоянная ... пишите в личку за контактами HR'a )