
Sergey
17.12.2017
17:35:05
вроде как кто-то делал что-то типа grpc anywhere который конвертил rpc вызовы в fastcgi запросы для php-fpm
но это немного не то
да и оно не решает тех вопросов которые решает graphql
там строгий котнтракт

Google

Sergey
17.12.2017
17:36:04
(или я чего не знаю и мы можем с клиента запросить только чать структуры?)

Sergey
17.12.2017
17:37:08
часть структуры это к avro, но там это немного для другого нужно

Sergey
17.12.2017
17:43:42
https://github.com/Netflix/falcor
а еще такие штуки есть

Константин
17.12.2017
17:56:10
Называется не обновлял проект пару месяцев https://github.com/astra50/astra50.ru/pull/20/files
Кто хочет сделать ревью?)

Sergey
17.12.2017
18:02:50
особенно улыбнули удаленные тесты (хотя вроде как функциональность которую они тестили не исчезла. хотя может я не знаю)
а еще - на кой черт тебе свой EntityRepository который не особо отличается от дефолтного симфоневого?
https://github.com/astra50/astra50.ru/blob/master/src/Doctrine/EntityRepository.php#L78
а еще вот это
вопрос - зачем тебе доктрина если ты сущности по одной флашишь
$value = $id instanceof UuidInterface ? $id->toString() : $id;
не понятно зачем

Константин
17.12.2017
18:05:32
Ответил на всё)

Google

Sergey
17.12.2017
18:06:00
ну и отдельно лайк за логику в контроллерах

Константин
17.12.2017
18:06:08
То что касается Uuid и репозитриев - просто забей.
Позже всё выпилю вместе с Uuid. Наигрался уже

Sergey
17.12.2017
18:08:06

Константин
17.12.2017
18:09:27
Ну ссыль хотя бы дал)

Sergey
17.12.2017
18:10:47
да там почти в каждом контроллере
новости глянь например

Константин
17.12.2017
18:12:08
А где логика то?
Я тут dto использую по твоим заветам, и на основе того что пользователь навводил в dto вызываю методы сущности)

Sergey
17.12.2017
18:14:13
все, уразумел, это CRUD просто
https://github.com/astra50/astra50.ru/blob/master/src/Controller/NewsController.php#L62-L64
прям сферический пример круда
ну мол когда действие определяется исходя из данных а не намеряний

Константин
17.12.2017
18:15:51
Ну если пользователь галочку поставил "опубликовать", как её ещё обрабатывать?
Не редиректить же пользователя на action /news/{id}/publish ?)

Sergey
17.12.2017
18:19:07
не, это уже вопросы UX
ну то есть ничего против не имею
просто это своего рода "чуть другая маршрутизация действий" и в целом вопрос использования dto в контексте этой задачи уже не такой профитный
мне прикольнее сделать что-то типа кнопки "save" и "save and publish"
не люблю я галочки

Google

Константин
17.12.2017
18:20:30
И что происходит во втором случае?

Sergey
17.12.2017
18:20:43
два действия, очевидно. Но без if-ов

Константин
17.12.2017
18:20:57
А если вторая кнопка уже есть: Сохранить и создать ещё?)
Не понимаю как в коде должна выглядеть save and publish без if'a

Sergey
17.12.2017
18:21:57
"создать еще" можно на клиенте захэндлить (если у нас SPA) либо если у нас просто странички - то это будет просто редирект.
(если учитывать твою "добавить и новую")
но вообще - я не факт что стал бы так делать

Константин
17.12.2017
18:23:17

Sergey
17.12.2017
18:23:54
в моей практике - ты либо набиваешь контент либо публикуешь его
а еще песочницы всякие, предпросмотры и все такое

Константин
17.12.2017
18:24:15

Sergey
17.12.2017
18:24:28
одни и те же вещи можно сильно по разному сделать
а для этого надо исходить из нужд пользователя

Константин
17.12.2017
18:24:55
через *опу. Я backend + devops. UI у меня всегда через задницу)
А так как ТЗ обычно - сделай чтобы хорошо. То UI соответственный)

Sergey
17.12.2017
18:25:37
ну вот например

Google

Константин
17.12.2017
18:26:04

Sergey
17.12.2017
18:26:23

Константин
17.12.2017
18:28:23
https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
Ты не первый кто почему то косо на этот файл смотрит)

Sergey
17.12.2017
18:29:13
ну я просто не заморачиваюсь с проверкой хэшей

Константин
17.12.2017
18:29:29
Я тоже. Я просто скопипастил)

Sergey
17.12.2017
18:30:16
https://github.com/fesor/project-skeleton - можешь мое заревьювить) мне полезно будет)

Константин
17.12.2017
18:30:45
PR же нет. Структура уже deprecated))

Admin
ERROR: S client not available

Sergey
17.12.2017
18:31:05
там кода нет, а потому пока ревьювить нечего - это через две недельки где-нибудь

Константин
17.12.2017
18:32:16
эээ. app.php в корне?

Sergey
17.12.2017
18:32:24
этот скелет проекта используется исключительно для апишек - нет никакого webroot
https://github.com/fesor/project-skeleton/tree/master/docker/nginx/web - вот по сути вэбрут

Константин
17.12.2017
18:33:56
Я решил проблемы со статикой просто перейдя на апач. Какие проблемы решает nginx, чего не может апач?

Sergey
17.12.2017
18:34:19
начнем с этого)

Google

Константин
17.12.2017
18:34:25
например?

Sergey
17.12.2017
18:34:50
- быстрый
- удобный
- мне не нужен apache
лучше скажи зачем мне в целом может apache понадобиться?

Константин
17.12.2017
18:35:27
быстрый удобный - поэтому пришлось столько костылей сделать, включая app в корне)

Sergey
17.12.2017
18:35:44
с одним файлом

Константин
17.12.2017
18:35:59
почему нет?
количество элементов в корне это не увеличит

Sergey
17.12.2017
18:36:09
прост, nginx тут не причем
фронтэнд всеравно отдельно живет в другом репозитории, собирается и деплоится отдельно

Константин
17.12.2017
18:37:16
минус - отход в дефолтной структуры. Человек знающий симфони потратит время на понимание что wtf?

Sergey
17.12.2017
18:37:36
ну и опять же - подобную структуру обкатал уже не на одном десятке "знающих симфони"
проблем небыло

Константин
17.12.2017
18:37:53
Дело не в поиске точки входа, а во встрече app.php в корне

Sergey
17.12.2017
18:38:44
например у меня не Entity а Model - тоже будешь кричать что "нистандарт!"? а проблем небыло)
а сейчас в 4-е убрали ущербный автомэппинг

Константин
17.12.2017
18:39:47
Просто каждые 5-10 минут которые я потрачу на объяснения новому разработчку я считаю проблемой.
Писать доку там где её можно не писать тоже считаю проблемой.

Sergey
17.12.2017
18:40:13
или "объекты значения тоже в Entity"
они на тебя как на дурака с большей вероятностью посмотрят
а так я один раз написал "model для такого-то, это для такого-то"