@symfony_php

Страница 513 из 1418
Константин
20.12.2017
12:58:30
Инстанцируемый контейнером

Sergey
20.12.2017
12:58:51
а что делает Money? разве это не контейнер для данных?

в моем поднимании у форматтера должен быть метод format(Money $money)

Константин
20.12.2017
12:59:20
Я тебе про MoneyFormatter ты мне про Money

Google
Константин
20.12.2017
12:59:29
Money у меня нет в сервисах, я не настолько олень)

https://github.com/moneyphp/money/blob/master/src/Currencies.php

Я про этот интерфейс

https://github.com/moneyphp/money/tree/master/src/Currencies

Вот его реализации

Sergey
20.12.2017
13:00:45
понял

Константин
20.12.2017
13:02:03
Собственно реализация у меня назначения как алиас на интерфейс

В общем я алиас публичным сделал и забил)

@fes0r на твой взгляд что в доктрине 2.6 интересного релизнулось? Там чёт столько всего, и с большинством я не сталкивался

Sergey
20.12.2017
13:08:11
а в 2.5 много чего не попало

для меня лично - наконец можно нормально реплики юзать в постгрессе (хотя это как раз таки может в 2.5 и попало)

Tex
20.12.2017
13:19:03
киньтесь кто-нибудь ссылкой на пхп-чатик, поиск не осиливает

Google
Bohdan
20.12.2017
13:19:22
@prophp7

Tex
20.12.2017
13:19:32
благодарю

ну вот. спросил пхп-чатик, чтобы тут оффтоп не разводить, а там про дотнет трут. куда катится этот мир.

Shmaltorhbooks
20.12.2017
13:25:44
И говорят, что это язык для даунов. Хороший чатик, полезны

Tex
20.12.2017
13:26:07
Перекину сюда, они там заняты видимо %)

Вопрос. Есть метод А, он кидается эксепшенами, они прописаны в @throws аннотации. Есть метод В, он дергает метод А и не обрабатывает его эксепшены, пробрасывая их выше. Должны ли быть эти эксепшены прописаны в phpDoc'е метода B?

Константин
20.12.2017
13:27:16
Мы не пишем. Мы вообще стараемся docblock не писать если тайпхинта хватает для описания сигнатуры.

Tex
20.12.2017
13:29:56
собсно в чём нюанс. обновился шторм, завёз полезную фичу, ругаться на необработанные эксепшены. и это всё очень здорово, только "через уровень" он их не видит. т.е. условно, если к цепочке из вопроса добавить метод С, который дергает В. То в "С" мы не увидим предупреждение от шторма. и ладно бы только "не увидеть предупреждения", так если С обернуть в try-catch, шторм начнет ругаться, мол "чо ты тут ловишь, он же ничего не бросает".

отсюда и вопрос, каковы шансы, что шторм начнет реагировать на подобнее адекватнее. или неадекватен я и надо везде аннотации писать идти.

Константин
20.12.2017
13:32:22
Я просто выключил эту инспекцию за ненадобностью

Доктрина и кишки симфони выкидывают миллиард исключений. Что мне их над каждым контроллером писать, абсурд же

Shmaltorhbooks
20.12.2017
13:35:19
Да и некоторые исключения будут выброшены только если специально выстрелить себе в ногу

Константин
20.12.2017
13:43:59
нет там миллиарда и ты их, по хорошему, должен словить и бросить дальше свое исключение
Куда мне передавать \Doctrine\ORM\ORMInvalidArgumentException, \Doctrine\ORM\ORMException, \Doctrine\Common\Persistence\Mapping\MappingException, \Doctrine\ORM\TransactionRequiredException ?

Sergey
20.12.2017
13:44:18
у них общие предки

Shmaltorhbooks
20.12.2017
13:44:19
нет там миллиарда и ты их, по хорошему, должен словить и бросить дальше свое исключение
иногда это неуместно. например если paramConverter гарантированно мне передаст объект в контроллер, а какой-то метод бросает исключение если в него передали не объект

Google
Shmaltorhbooks
20.12.2017
13:44:42
ну или ControllerArgumentResolver, или как он там правильно

Константин
20.12.2017
13:45:35
я же написал, ловишь в месте применения и бросаешь свое исключение
Своё исключение я должен кинуть если произошло что-то ожидаемое. Когда что-то сломалось должна кинуться 500, что и произойдёт без моих действий

Shmaltorhbooks
20.12.2017
13:45:57
что не уместно?
обработка всех возможных исключений

Dmitry
20.12.2017
13:46:24
обработка всех возможных исключений
так не отрабатывай, просто покажи, что знаешь о них и о том, что они пойдут выше

Shmaltorhbooks
20.12.2017
13:46:39
так есть ситуации, при которых они не пойдут

и выброшены не будут

Dmitry
20.12.2017
13:47:28
Своё исключение я должен кинуть если произошло что-то ожидаемое. Когда что-то сломалось должна кинуться 500, что и произойдёт без моих действий
ну мы говорим о том, как проще жить, если ничего не делать, или о том - как писать код, когда понятно, что ты не провафлил исключения, а четко о них знаешь? ;)

Shmaltorhbooks
20.12.2017
13:47:30
тот же пример. в котроллер гарантированно передастся сущность либо же уровнем выше будет выброшено 404. а потом я эту сущность передаю в метод, который бросает исключение, если первый параметр - не объект.

в таком случае исключение будет выброшено либо paramConverter'ом либо не будет выброшено никогда. толку его хэндлить или описывать?

Константин
20.12.2017
13:48:33
В тоннах одинакового кода легче разбираться чем без него?

Dmitry
20.12.2017
13:49:22
ну я вообще не очень знаю, что может делать репозиторий в контроллере... но достаточно обернуть $em->flush()

Константин
20.12.2017
13:49:57
То есть select к базе не кидает исключений, что достаточно оборачивать только flush?

Shmaltorhbooks
20.12.2017
13:51:14
и всё равно в этом конкретном контроллере мне будет приходить объект

Tex
20.12.2017
13:51:31
То есть select к базе не кидает исключений, что достаточно оборачивать только flush?
не кидает, во всяком случае видимых. у шторма ругани нет.

и это в общем-то логично. какая ошибка может быть у выборки? если ошибка в синтаксисе запроса - это не совсем рантайм ошибка, какой смысл её обрабатывать, такое должно еще при билде на тестах падать. ошибка с коннектом к базе упадёт еще на билде em в контейнере, ЕМНИП.

Google
Dmitry
20.12.2017
13:54:49
на find-е 3 исключения

Tex
20.12.2017
13:55:37
ну тут спрашивали про репозиторий. у репозитория в getResult() - 0 эксепшенов.

Dmitry
20.12.2017
13:56:56
и всё равно в этом конкретном контроллере мне будет приходить объект
ну не пиши ничего, если уверен что исключение не твое можешь отключить инспецкию для этого места

Tex
20.12.2017
13:57:04
та много чего может произойти, апщето
ну значит доктрина об этом не вкурсе

Dmitry
20.12.2017
13:57:53
так ты покажешь, что знаешь о существовании исключения, но не ловишь его не потому что говнокодер, а потому что исключения тут быть не может ;)

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

Vladislav
20.12.2017
14:16:55
есть смыл лить на s3/azure blob картинки с какой-то структурой директорий?

Admin
ERROR: S client not available

Vladislav
20.12.2017
14:17:16
условно /images/2017-12/lol.png

или думаю без разницы?

это ж необычная файловая система, наверное смысла нет

When you work with Amazon S3, we recommend that you mimic a regular file system.

ясно)

Dmitry
20.12.2017
14:27:28
но вообще вот этот тикет может быть полезен https://youtrack.jetbrains.com/issue/WI-22936, можете голосовать

Shmaltorhbooks
20.12.2017
14:37:28
симфони для lazy сервисов какую-то проксю генерирует?

Boris
20.12.2017
14:37:48
Можно не subscriber использовать, а listener и объявить его lazy
А можно в preUpdate редактировать стороннюю сущность? Судя по доке - нет, но может быть я что-то неправильно понял.

В prePersist например можно и все ок.

Sergey
20.12.2017
14:38:29
Google
Sergey
20.12.2017
14:41:12
или отказаться от doctrine event subscriber)
А как быть с доменными событиями? Есть subscriber на onFlush, postFlush где происходит releaseEvents. Вот в таких событиях репозитории использовать не получается

Sergey
20.12.2017
14:42:06
у тебя будет какой-то свой легкий ивент диспатчер или... что вероятнее учитывая то где мы находимся. диспатчер событий симфони

да и листенеры доменных событий - они ж твои, от них доктрина не зависит)

дя эмита же событий на обработку репозитории нам точно не важны

да и по хорошему репозитории в листенерах вообще не нужны

Георгий
20.12.2017
14:45:28
но вообще вот этот тикет может быть полезен https://youtrack.jetbrains.com/issue/WI-22936, можете голосовать
Было бы классно ещё как в Java чекать и подсвечивать исключения, которые выбрасываются методом, но не ловятся в вышестоящем методе и не помечены в нём в docblock как выбрасываемые (@throws).

Andrey
20.12.2017
14:54:08
Где посоветуете читать стоящее описание, как переделывать работу security компонент под свой лад? Или в офф достаточно инфы?

Andrew
20.12.2017
14:58:23
симфони для lazy сервисов какую-то проксю генерирует?
да, если https://github.com/Ocramius/ProxyManager стоит. Если не стоит - ругается и не генерит.

Andrey
20.12.2017
14:58:56
оф и исходники)
пасиб, ушёл курить маны

Max
20.12.2017
15:57:09
Парни привет. Миниопрос : какие wysiswyg вы используете?

И второй вопрос что пользуете mysql или postgress? Какие плюсы второго?

Vladislav
20.12.2017
16:01:45
lmgify: mysql vs postgress

вбей в гугл это

Max
20.12.2017
16:04:21
Уже

Константин
20.12.2017
16:04:25
Постгрес говно и палки. Наброшу на вентилятор =)

Sergey
20.12.2017
16:04:36
Mariadb

Alan
20.12.2017
16:04:46
на конфах говорят что порт 3306 не православный

Max
20.12.2017
16:04:48
Интересно мнение в рамках симфони и вашего реального опыта

Vladislav
20.12.2017
16:04:48
Уже
тогда спроси вопросы которые тебя интересуют точнее

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