@symfony_php

Страница 254 из 1418
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 и не париться?

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

Bohdan
14.07.2017
19:27:51
ребят, такой вопрос

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

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, который должен управлять тем какие поля необходимо заполнять и рендерить на фронте. Делал ли кто то что то подобное, какие подводные камни могут быть?

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

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

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

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
Что нужно сделать чтобы из локалки можно было подключаться к докеру (в частности mysql, nginx)? Смог максимум подключиться на localhost:80
без конфига и\или того как запускаешь это превращается в телепатию. обычно docker run -p 3306:3306 —name foobar -e MYSQL_ROOT_PASSWORD=password -d mysql:latest

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 )

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