
Эмин
08.02.2018
09:41:18
контроллер должен быть туп как пробка. Данные получил - передал кому то. Кто то обработал - выдал ответ. Контроллер соотвествующий ответ выдал клиенту.

Bohdan
08.02.2018
09:41:39
у меня в этой ситуации контроллеры занимаются тем, что создают формы, хендлят их и кидаются командами в шину
и все равно на 25 методов почти косарь строк

Google

Bohdan
08.02.2018
09:42:52
(писал не я, проект пришел от другой компании)

Vladislav
08.02.2018
09:43:43

Bohdan
08.02.2018
09:44:16
не круд)
дисклеймер: я с фосрестом не работал, только видел на других проектах, но сам не применял

Alexandr
08.02.2018
09:45:16
поддержка scope у них очень странная (перепутал с fos_oauth, сорян)

Sergey
08.02.2018
09:58:43

Bohdan
08.02.2018
09:59:15
о, расскажи нам)

Sergey
08.02.2018
09:59:18
вообще fos rest это совокупность отдельные местами ущербных местами неплохих решений. я довольно долго его юзал тупо для конвертации эксепшенов в http статус коды например)
но из подход к валидации запросов мне честно говоря противен

Bohdan
08.02.2018
10:00:27
ты кстати собираешься дописывать свои request objects? я может вкачусь в опенсорс, была идея приделать к ним на изоленту json schema

Sergey
08.02.2018
10:10:37
я хз пока если честно
я думал сделать чуть умнее
типа.... возможность описать схему запросов и ответов
и валидировать симфони валидатором... но можно конечно и через json schema

Google

Sergey
08.02.2018
10:11:42
ну мол у меня валяются валидаторы типа anyOf, allOf и т.д.
ну мол идея в том что мои request objects должны только валидацией заведовать - а мэппинг на всякие там DTO - делай через argument resolver-ы
это намного более удобно и просто
/** @RequestRules(RegisterUserRequestRules::class) */
public function registerUser(RegisterUser $command)
{
}
что думаешь?

Vladislav
08.02.2018
10:15:46
кстати. вот собеседуем джава джуниоров) чуваки джависты спрашивают чего не делать поля публичными, а лучше геттеры и сеттеры)

Антон
08.02.2018
10:16:27

Vladislav
08.02.2018
10:16:32
а я такой "а зачем вам геттеры и сеттеры вообще"
ну и крч срач

Sergey
08.02.2018
10:17:00
а вот в php такой роскоши нет, можно с phpdoc конечно обойтись но некоторым этого мало
вот и вся разница

Vladislav
08.02.2018
10:17:54
главный аргумент шо в геттеры и сеттеры можно засунуть логику

Sergey
08.02.2018
10:18:17
ну и крч срач
перед тем как входить в этот срач стоит все же разобраться в бэкграунде людей. Если они всю жизнь только так делали - ты наступаешь на их систему ценностей и конечно же они будут обороняться а не принимать новые для них идеи с распростерными объятьями

Tex
08.02.2018
10:18:54

Vladislav
08.02.2018
10:18:59
за

Tex
08.02.2018
10:19:04
ужасы какие

Sergey
08.02.2018
10:19:46
ой да ладно, процедурщина не так страшна

Google

Bohdan
08.02.2018
10:19:53

Sergey
08.02.2018
10:19:54
как плохое ООП и миллиардами абстрактных фабрик и десятками зависимостей)

Bohdan
08.02.2018
10:20:09
про аргумент резолверы тоже думал

Sergey
08.02.2018
10:21:00

Tex
08.02.2018
10:21:14

Bohdan
08.02.2018
10:21:23
тупой вариант - дать возможным "реквестам" общий класс-родитель, который уже будет резолвиться и в этом классе прописать метод validate, который будет делать понятно что любым методом
ну и вызывать его вручную
мне она пока вроде не была нужна)
но в json schema есть, видел
все усугубляется еще и тем, что драфты все поддерживают кто как хочет

Alexandr
08.02.2018
10:22:37

Sergey
08.02.2018
10:22:42

Bohdan
08.02.2018
10:22:55

Sergey
08.02.2018
10:23:07

Bohdan
08.02.2018
10:23:17
это просто лично мой гемор - из-за "фуллстечности" моей

Sergey
08.02.2018
10:23:26
и неизоморфно)
кто тебе мешает дампнуть из правил валидации симфони json схему?

Bohdan
08.02.2018
10:23:41
были бы фронтендеры - пилили бы сами себе валидацию по спеке какой-то текстовой?

Sergey
08.02.2018
10:24:03

Bohdan
08.02.2018
10:24:04
в эту сторону тоже думал, кстати

Sergey
08.02.2018
10:25:06
ну сходу не нашел, но написать такое вообще не проблема
вечер работы

Google

Bohdan
08.02.2018
10:25:22
чуть запарно с точки зрения соответствия реализаций

Sergey
08.02.2018
10:25:32
ну в смысле, если ты выплевываешь все согласно спеке - какие могут быть притензии?

Bohdan
08.02.2018
10:25:50
не уверен, что symfony validation constraints соответствуют спеке json schema

Sergey
08.02.2018
10:26:17
но это не значит что тебе не нужен range)
хотя там есть minValue и maxValue

Bohdan
08.02.2018
10:26:51
range умеет)
вотвот

Admin
ERROR: S client not available

Bohdan
08.02.2018
10:26:54
да

Sergey
08.02.2018
10:26:56
ну то есть я пока не вижу проблем
сходу...

Bohdan
08.02.2018
10:27:10
драфт7 весьма хорош, я в нем не видел особых провисонов

Sergey
08.02.2018
10:27:12
только если кастомные валидаторы

Andrey
08.02.2018
10:28:09
Liform и FormTypeGuesserInterface
такое уже есть? или самому запилить?
не уверен что есть, но и не уверен что нет)
сейчас такое пилю

Bohdan
08.02.2018
10:29:14
в какой-то из php либ есть разбежность между логикой валидатора и спекой json schema

Google

Bohdan
08.02.2018
10:29:39
по типу правило "string" валидируется даже на пустую строку по спеке и не валидируется либой

Sergey
08.02.2018
10:30:33

Andrey
08.02.2018
10:30:49
в первую итерацию form+validation -> schema

Bohdan
08.02.2018
10:31:00
форм наоборот избегаю)

Sergey
08.02.2018
10:31:01
а form зачем?

Andrey
08.02.2018
10:31:09
много кода в них написано

Bohdan
08.02.2018
10:31:13
т.к. это как фос :D

Sergey
08.02.2018
10:31:14
ну то есть... как оно с json schema соотносится? типа из структуры формы забираешь типы?

Andrey
08.02.2018
10:31:15
переносим с меньшей болью

Bohdan
08.02.2018
10:31:24
более того
по схеме строится вообще форма
такая либа есть и не одна

Andrey
08.02.2018
10:31:33
да. В валидации могло быть недостаточно информации
т. к. через формы работали

Sergey
08.02.2018
10:31:41
понял

Andrey
08.02.2018
10:32:00

Bohdan
08.02.2018
10:32:00
а, из symfony форм?

Andrey
08.02.2018
10:32:15
из форм есть одна - liform
но немного мало функционала

Bohdan
08.02.2018
10:32:37
вроде что-то еще видел
но не искал, я по vue