@symfony_php

Страница 172 из 1418
Dmitriy
07.04.2017
07:19:16
ну я так понимаю он топит за то чтобы всегда получалось )

Andrey
07.04.2017
07:19:20
и начинаем обсуждать сроки и скоуп

Dinar
07.04.2017
07:19:43
Это не отменяет факта что ты будешь рефакторить.

Andrey
07.04.2017
07:19:55
как это простите связано?

Google
Andrey
07.04.2017
07:20:14
если сущности изолированы, поведение четко очерчено

есть моменты в которых их поведение будет изменено

но оно покрыто тестами и покажет, где сломано

Dinar
07.04.2017
07:21:20
И у меня порыто тестами. И бехат и юнит.

И показывает, где ломается.

Блин, ок, чувак.

Я тебя услышал

Andrey
07.04.2017
07:21:48
в любом случает контракт между распределенными системами не должен меняться

Дмитрий
07.04.2017
08:41:07
в репо мы пишем только работу с таблицами (получить данные, сохранить данные), правильно? 1. из контроллера или сервиса обращаюсь к методу в репо (получить данные) 2. в контроллере или сервисе, делаю необходимые операции с данными 3. чтобы записать результат эти данные передаю назад в репо

Andrey
07.04.2017
12:03:45
есть практика тонких контроллеров

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

вся логика на обработку данных в сервисах, репо делает обычно лишь персист готовых сущностей и выдачу по фильтрам

архитектура MVC хороша до момента появления предоставляемого для автоматизации апи, дальше приходится делать слои (авторизация, валидация, трансформации в нужный формат, версионирование) и в этот момент на сцену выходят мидлвари

Google
Boris
07.04.2017
13:17:22
в 4й версии планируют мидлвейр интересно или как в 3й на ивентах городить

Sergey
07.04.2017
13:18:15
а чем ивенты не устраивают?

Boris
07.04.2017
13:19:31
сильно широкая область применения , те же ларавелевские мидлвейр как-то проще по структуре и понимания

Sergey
07.04.2017
13:21:32
привет, ипользую fosrest. Есть такая задача, нужно где-то для половины роутов наличие обязательного кастомного заголовка, как лучше такую ситуацию разрулить?

Sergey
07.04.2017
13:21:47
ивентами)

Boris
07.04.2017
13:22:48
да, ими родными =)

у меня много входных данных на лету трансформируется на ивентах

Sergey
07.04.2017
13:23:21
создал листенер на kernel.request, мне нужно для половины роутов если заголовка нету кидать exception, а для остальных ничего не делать. Как с роутами быть не понимаю

Sergey
07.04.2017
13:23:45
у тебя в ивенте доступа информация по реквесту и контроллеру

выбирай по каким-нибудь признакам и бросайся эксепшенами

типа по FQCN контроллеров

Sergey
07.04.2017
13:26:39
а что-нить типа кастомной аннотации у контроллера можно сделать?

Sergey
07.04.2017
13:26:53
да

можешь кастомные параметры к роуту просто добавить

Sergey
07.04.2017
13:27:32
понял, спасибо!

Daniel
07.04.2017
13:36:11
А я вот не понял по-поводу мидлваров

Можно же написать ивент листенер, который будет смотреть на: public function secureAction(MiddlewareFilterByUserAge $middleware) при каждом запросе. Оттуда потом получать объект этого мидлвара и запускать его.

По-любому уже есть че нибудь готовое

Andrey
07.04.2017
13:44:00
Написать свое на базе psr7

Все готовое как yii, очень специфичное

Google
Andrey
07.04.2017
13:45:43
Раньше диакторос был

Ща есть спека

Старайтесь без аннотаций, проще парсер на неоне подключить

И иметь котлеты отдельно от мух

Yaml тяжеловат по ресурсам

Evegniy
07.04.2017
14:19:28
Всем привет. Подскажите, а где для дактрины для типа array найти дефолтное значение? достаточно долго уже ищу, найти не могу

Dima
07.04.2017
14:26:29
http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/types.html#array-types

Sergey
07.04.2017
14:47:22
совет по доктрине. не пытайтесь кешировать записи по айдихе и делать методы типа getById вместо стандартного find

Andrey
07.04.2017
14:50:40
в моей практике именно оверюс find приводил к аду

если что-то надо - надо писать dql

Sergey
07.04.2017
14:51:09
как именно приводил?

Andrey
07.04.2017
14:51:51
в бизнес логике редко идет поиск по одному полю

Sergey
07.04.2017
14:52:03
эм

я говорю за find по айдихе

первичный ключ, а не поиск по какому-то полю

Andrey
07.04.2017
14:52:17
ребята сначала пытались сделать findBy([])

и это характерно убивало бд

Sergey
07.04.2017
14:52:33
не, findBy это другая история

Andrey
07.04.2017
14:53:26
вообще лучший способ это иметь prepared statements

Google
Sergey
07.04.2017
14:53:49
для таких вещей заводить нужно отдельные методы в кастомных репозиториях

Andrey
07.04.2017
14:54:51
ваще доктрина очень плохо дружит с неинтовыми айдишниками

Sergey
07.04.2017
14:55:06
uuid нормально живет

Andrey
07.04.2017
14:57:07
uuid это инт)

Sergey
07.04.2017
14:58:01
если у тебя инт на 128 бита тогда да

Dinar
07.04.2017
15:05:56
uuid нормально живет
UUID - очень плоорй ID если говорить о поиске по нему.

И о скорости

Его невозможно эффективно индексировать

Admin
ERROR: S client not available

Dinar
07.04.2017
15:06:28
И почему UUID -это int?

123e4567-e89b-12d3-a456-426655440000 Это вроде как никак не int

Sergey
07.04.2017
15:09:10
Dinar
07.04.2017
15:09:27
Потому что не строится по нему бинарное дерево

Нормальное

Огромное и не быстрее чем обычный поиск

Sergey
07.04.2017
15:10:57
123e4567-e89b-12d3-a456-426655440000 Это вроде как никак не int
BigInt на 128 бита, если убрать дефисы и перевести из хекса

Dinar
07.04.2017
15:11:20
А ок. Не задумывался.

Тогда вопрос с поиском отпадает наверно

Sergey
07.04.2017
15:12:02
Dinar
07.04.2017
15:12:11
Если хранить как текст - есть

Google
Sergey
07.04.2017
15:12:36
храни его в бинарном виде

в 16 байт влазит

Dinar
07.04.2017
15:12:47
А по нему можно нормально искать?

Бинарный как PK?

Новый мир какой-то для меня :)

Sergey
07.04.2017
15:16:08
да, нет никаких проблем с ним

в кассандре и других распределенных базах же живут как-то без инкрементов

Dinar
07.04.2017
15:18:48
Ну это же не SQL базы данных

Я понимаю, что и в монде там Object ID Не простой int

Но мы-то говорим про MySQL, PgSQL и т.д.

Если писать PK как UUID текст, проблемы со скоростью поиска очень быстро появятся по мере роста данных

Dinar
07.04.2017
15:23:08
Потому что текст уникальный, не индексируемый нормально.

da horsie
07.04.2017
15:24:44
http://thebuild.com/blog/2015/10/08/uuid-vs-bigserial-for-primary-keys/

Вот этот текст утверждает обратное

Andrey
07.04.2017
15:25:09
есть стенд от перконы

da horsie
07.04.2017
15:25:35
Потому что текст уникальный, не индексируемый нормально.
Ты пробовал сам? Есть конкретные цифры?

Andrey
07.04.2017
15:25:37
https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/

Dinar
07.04.2017
15:25:57
Сам не пробовал. Говорю на основании того, что читал где-то.

Допускаю, что могу ошибаться.

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