@symfony_php

Страница 805 из 1418
Slava
02.04.2018
10:26:45
хочешь make таргеты для тестов вызывай

Vladislav
02.04.2018
10:28:23
ой ща опять начнется. чем заменить? ДТО и маппер. но тут опять же надо понять надо ли оно тебе чтобы не городить тонну кода

в одном проекте где крад в большинстве меня формы устраивают полностью. в другом - не очень.

Google
Boris
02.04.2018
10:29:36
Чем их заменить? Оставить только валидатор?
json -> deserialization -> validation -> flush, у меня примерно в таком порядке

Sergey
02.04.2018
10:32:17
ой ща опять начнется. чем заменить? ДТО и маппер. но тут опять же надо понять надо ли оно тебе чтобы не городить тонну кода
да, тут важно понимать профит от инвестиций. Но если тебе норм десереалайзнуть и сохранить - то может быть не надо тут вообще доктрины или php

Как и JMS
jms - да, symfony serializer может быть весьма полезным

Maks
02.04.2018
10:33:27
насчет симфони форм кстати) есть вопрос один. по валидации

Sergey
02.04.2018
10:33:34
в одном проекте где крад в большинстве меня формы устраивают полностью. в другом - не очень.
если ты понимаешь где ок а где не ок и ты знаешь о различных вариантах - то тебе не надо слушать людей в интернетах)

Maks
02.04.2018
10:34:02
пусть у меня есть какой-то констрэйнт, не важно какой



как в message получить значение другого поля объекта ?)

например firstName)

Google
Maks
02.04.2018
10:34:50
?

что-то Callback constraints не хочется использовать

Slava
02.04.2018
10:36:13
констрейн на класс скорее всего должен быть, когда констрейн на поле завязана, он к другим полям доступ не может получить

https://pastebin.com/jFRq8Xw3

https://pastebin.com/vrUw6cCF

В 1 ссылке, где "buildViolation("Calculated hash is different" - добавляешь навешиваение на поле fullName и свой текст делаешь

Danil
02.04.2018
10:39:55
либо можно обратиться через $this->context->getRoot()

Slava
02.04.2018
10:40:17
из property constrain?

Danil
02.04.2018
10:40:22
да

Slava
02.04.2018
10:40:30
о, не знал!

круто

Danil
02.04.2018
10:40:39
но по мне так грязновато это)

Maks
02.04.2018
10:40:42
или из this->context->getObject()

Slava
02.04.2018
10:40:46
так в 100 раз рпоще будет

Maks
02.04.2018
11:00:30
короче печально...что-то не хочется переписывать стандартные констрэйнты на костыли-велосипеды(

Slava
02.04.2018
11:02:12
https://symfony.com/doc/current/validation/custom_constraint.html#class-constraint-validator - а чем тебе это не подошло?

https://pastebin.com/wBDx8rN9

и это не костыли-велосипеды

стандартные констрейны для самых примитивных вещей

Maks
02.04.2018
11:07:20
Дак мне эти примитивные и надо)

Google
Slava
02.04.2018
11:07:30
сложную бизнес логику, где куча полей задействована и связей между ними таки и так кастомными придется делать

Maks
02.04.2018
11:07:30
Тот же length

Slava
02.04.2018
11:08:09
констрейн привязан либо к property, либо к классу

ты не можешь в констрейне проперти навесить данные из класса через аннотации

во всяком случае я с этим не сталкивался

а раз не стандартная логика - пиши кастомный констрейн

дольше переписываемся)

Sergey
02.04.2018
11:12:14
но это в любом случае кастомная штука

но да, я бы лучше кастомный констрейнт написал бы

Slava
02.04.2018
11:13:04
ок

Andrew
02.04.2018
11:13:28
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#new-operator-syntax как-то это прошло мимо меня. Нормально работает?

Maks
02.04.2018
11:19:23
беда в том, что на простой констрейнт типа Length, придется писать свою обертку чтобы какое-то кастомное сообщение можно было отдавать....

Slava
02.04.2018
11:21:18
кейс простой, но, думаю, что нетипичный

я с такой потребность не разу не сталкивался во всяком случае

Maks
02.04.2018
11:23:10
в том то и дело

откулда ноги растут ?)

расскажу с удовольствием)

по сути зачем в сообщениии конжстрэйнта какие-то другие поля, и доступ к ним ?) да низачем, потому что ошибки они по идее (в моем понимании ) должны как тултипы какие-то под/над инпутами выводиться ) но кто-то когда-то в этом огромном легаси проекте решил выводить все сообщения о невалидной форме легко и просто)



Google
Maks
02.04.2018
11:25:25
вот как-то так)

и всё это добро показывается юзеру одним большим крассным сообщением))

Konstantin
02.04.2018
11:27:43
и всё это добро показывается юзеру одним большим крассным сообщением))
а я отдельный эксепшн специально для этого делал. а наверху в exceptionController уже достаю ошибки и красиво форматирую как надо в ответе клиенту, фронтенд сам уж разберется

просто туда сразу засовывал formInterface чтобы не разбирать ошибки там где бросается

Maks
02.04.2018
11:36:28
короч забейте) всем спасибо)

Alex
02.04.2018
11:55:06
Ребят, я могу инициализировать вот так? не могу найти ссылку на доки private $filed = stdClass()

нужен какой -то тайпхинт

Tex
02.04.2018
11:56:30
Ребят, я могу инициализировать вот так? не могу найти ссылку на доки private $filed = stdClass()
если не задавать лишних вопросов типа "зачем тебе stdClass" - напиши phpDoc около поля или в конструкторе проинициализируй, шторм подхватит.

Admin
ERROR: S client not available

Alex
02.04.2018
12:01:42
ну странно же что private $test = [] private $sdf = '' работают

а private $startDate = new \stdClass(); нет

Bohdan
02.04.2018
12:01:54
new ещё

и \stdClass

Sergey
02.04.2018
12:05:38
работают только те выражения которые можно выполнить в компайл тайме

Dmitriy
02.04.2018
12:06:45
У тебя же есть конструктор, присваивай там)

Slava
02.04.2018
12:09:24
https://github.com/zomberg/docker-php-boostrap

тадам!

2 дня (или 3?) мучений закончились

может кому приходиться

Google
Slava
02.04.2018
12:13:21
если кто посмотрит - буду рад

особенно как сделать более красиво удаленную отладку консольных скриптов с docker

Alex
02.04.2018
12:23:51
Спасибо!

работают только те выражения которые можно выполнить в компайл тайме

http://php.net/manual/en/language.oop5.properties.php

если кому интересно

Sergey
02.04.2018
12:30:52
я б еще не прокидывал порты просто так... но это на вкус и цвет

Slava
02.04.2018
12:32:20
я б еще не прокидывал порты просто так... но это на вкус и цвет
для mysql я прокидую, чтобы в PHPStorm подключаться к БД. А для nginx как возможно не прокидывать?

Sergey
02.04.2018
12:33:31
nginx-proxy и подобные штуки

но повторюсь - это имеет смысл когда ты одновременно хочешь несколько проектов поднять

Slava
02.04.2018
12:34:40
т.к. на хост машине nginx проксирует на разные порты в разные докер контейнеры?

*т.е.

Sergey
02.04.2018
12:38:48
тип того

Slava
02.04.2018
12:38:59
ок, спасибо

начну пока с простого и буду усложнять по мере возникновения потребностей)

Stas
02.04.2018
12:54:09
для mysql я прокидую, чтобы в PHPStorm подключаться к БД. А для nginx как возможно не прокидывать?
есть такая штука, ssh tunnel называется. очень полезна - помогает избежать открытия портов, когда это не нужно

Slava
02.04.2018
12:54:40
спасибо, сейчас погуглю)

Stas
02.04.2018
12:55:23
прям в соседней вкладке в шторме, где коннекшн настраиваете

Andrey
02.04.2018
13:58:57
https://medium.com/@taylorotwell/laravel-is-hiring-again-246b502f7dcb

Тейлор стареет походу

https://s.dou.ua/storage-files/image3_jr9aAJE.png

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