@prophp7

Страница 95 из 1387
Sergey
29.11.2016
16:49:56
возможно придется написать свой мэппер простенький

посмотрим как пойдет

ут идеи нужды

Fayozjon [CybernatiC]
29.11.2016
16:51:00
Насколько правильно юзать вебсокеты на php?

Google
Sergey
29.11.2016
16:51:22
Насколько правильно юзать вебсокеты на php?
вопрос не в "правильности" а в "рентабельности"

Fayozjon [CybernatiC]
29.11.2016
16:51:27
Ram ведь скушает ?

Sergey
29.11.2016
16:51:35
ут идеи нужды
щас накатаю

Sergey
29.11.2016
16:51:55
Ram ведь скушает ?
нет, но socket-io выгоднее с точки зрения клиента

ну мол реализацией клиента для socket-io есть под все (javascript, ios, android, win phone)

с авто реконнектами, буферами и т.д.

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

Fayozjon [CybernatiC]
29.11.2016
16:52:36
Понял рахмет

Sergey
29.11.2016
16:52:49
если тебе нужно что-то специфичное на websockets то тогда можно думать

а есть задача стандартная - лучше socket-io

Fayozjon [CybernatiC]
29.11.2016
16:57:32
Спасибо Сергей

Sergey
29.11.2016
16:59:56
https://gist.github.com/Enleur/102c82a80bd4787bc5f4630d978dd9fa

$mapper->map($request, RegisterUserRequest::class)

Google
Sergey
29.11.2016
17:02:47
@fes0r не?

Sergey
29.11.2016
17:03:46
не

проблема с аннотациями - версионизация мэппингов

хотя я еще думаю над этим

надо тогда придумать как быть с версионизацией и тогда все збс

Sergey
29.11.2016
17:09:13
версионизация мэппингов" мм?

Sergey
29.11.2016
17:09:20
версионизация API

Sergey
29.11.2016
17:09:39
разные данные на вход получать?

Sergey
29.11.2016
17:09:58
ну тип того

POST /api/v1/sessions email (string) password (string) POST /api/v1/sessions identity (string) secret (string)

например

мэпятся одинаково

точнее надо старую версию под новую мэпить

use Mapper\{Query, Body, Version}; /** * @Body("email", version="v1") * @Body("identity", version="v2") */ public $identity;

хз

Sergey
29.11.2016
17:12:18
может разные экшены стоит заводить под такое?

Sergey
29.11.2016
17:12:39
эм...

Sergey
29.11.2016
17:12:41
мне кажется ты сильно много от мэпера хочешь

Sergey
29.11.2016
17:12:53
как это поможет если этот RequestObject используется как DTO для сервисного слоя?)

ну то есть это не HttpRequest

Google
Sergey
29.11.2016
17:13:10
это просто объект с ходящими данными

Sergey
29.11.2016
17:13:12
а ну ок, убедил)

Sergey
29.11.2016
17:13:30
я могу например в тестах его юзать или в фикстурах

Sergey
29.11.2016
17:13:31
тогда как ты выше написал ок в целом

Sergey
29.11.2016
17:13:31
$request = new RegisterUserRequest(); $request->name = $faker->name; $request->email = $faker->email; /// ... $user = $registerUserHandler($request);

ну ок

тогда другая проблема

public function registerUserAction(RegisterUserRequest $request) { // ... }

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

и я не хочу вводить никаких дополнительных аннотаций или чего-то такого

Sergey
29.11.2016
17:17:52
есть)

Sergey
29.11.2016
17:18:04
Sergey
29.11.2016
17:18:26
@ParamConverter("request")

?

Sergey
29.11.2016
17:18:40
это и есть "лишняя" штука

хочу без нее)

я ленивый да

я потом хочу еще из json-ки генератор этих объектов)

Sergey
29.11.2016
17:19:14
там вроде можно и без нее

Sergey
29.11.2016
17:19:19
не, прикол в том

Google
Sergey
29.11.2016
17:19:24
что если ты хочешь юзать аннотации

ты их должен обрабоать при отчистке кэша

а это значит ты должен либо загрузить вообще все классы в системе

либо ты должен указать какие грузить

Sergey
29.11.2016
17:19:56
ты о чем именно?

Sergey
29.11.2016
17:20:21
ну... если ты не знал, ты не можешь тупо заюзать аннотации и все. Их надо "загрузить" и прочитать метаданные

Sergey
29.11.2016
17:20:44
я не пойму при чем то что ты сверху написал

Sergey
29.11.2016
17:22:17
ну короч моя штука сейчас тупо смотрит автоматически

мол если ты хочешь прокинуть инстанс типа RequestObject или Mappable

то ты точно знаешь что его надо мэпить

Admin
ERROR: S client not available

Sergey
29.11.2016
17:22:38
и не надо париться с аннотациями и прочим

а тут хз

либо просить что бы имплементили пустой интерфейс

тогда норм

но опять же вопрос с загрузкой аннотацией

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

Sergey
29.11.2016
17:24:55
как по мне наоборот проще

Sergey
29.11.2016
17:25:07
попробуй сделать такой)

что бы не требовал дополнительных аннотацией в контроллере или дополнительной конфигурации

Google
Sergey
29.11.2016
17:25:37
что бы тупо "работало"

Sergey
29.11.2016
17:26:16
без @ParamConverter("request")?

Sergey
29.11.2016
17:26:23
да, без

Sergey
29.11.2016
17:26:26
но сама DTO с аннотациями?

Sergey
29.11.2016
17:26:31
да

мэппинги ж надо куда-то писать

Sergey
29.11.2016
17:26:56
понял, попробую)

Sergey
29.11.2016
17:27:17
начни с простого

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

запросов

без необходимости конфигурации и без ограничений "где классы лежат")

и ты быстро проиграешь)

Sergey
29.11.2016
17:28:10
ок)

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

Sergey
29.11.2016
17:28:36
если у тебя получится - с меня пиво и ты сделаешь очень большое дело

ради такого даже в Киев слетаю

Sergey
29.11.2016
17:29:10
"я джва году жду такую игру"

@fes0r https://github.com/Enleur/request-mapping/blob/master/src/AppBundle/Controller/DefaultController.php https://github.com/Enleur/request-mapping/blob/master/src/AppBundle/Request/RegisterUserRequest.php

Sergey
29.11.2016
18:54:10
метаданные в рантайме собираются чтоле?

Sergey
29.11.2016
18:54:35
ну как и в Serializer/Validator/PropertyAccessor и че там еще

реалтайм + кеш

Страница 95 из 1387