
Arky
29.10.2017
13:27:42
Просто переместить вниз?)
Так?) Или можно еще что-то улучшить?) https://pastebin.com/LWEsdnRr

Dinar
29.10.2017
15:11:30
В чем разница has_role и is_granted?

Sergey
29.10.2017
15:14:37
has_role проверяет просто по массиву ролей, а is_granted идет в AuthorizationChecker и задействует всех воутеров, иерархию и тд

Google

Vladislav
29.10.2017
15:17:18
LMGTFY
https://toster.ru/q/148377

Константин
29.10.2017
15:17:52
Что говорят исходники?

Sergey
29.10.2017
15:18:03
has_role проверяет просто по массиву ролей, а is_granted идет в AuthorizationChecker и задействует всех воутеров, иерархию и тд

Владимир
29.10.2017
16:23:23
Что страшнее после 5 часов кодопечатания? Видеть много ошибок, когда, вдруг, решил все это запустить? Или видеть, что программа запустилась вообще без ошибок?

Bohdan
29.10.2017
16:33:32
первое страшнее

Владимир
29.10.2017
16:35:59
А как по мне, то ошибки куда информативнее внешне рабочего состояния. Мол, неужели я все продумал так идиально? Нет же, наверняка. А значит ошибка где то есть, но так глубоко, что заманаешься теперь искать ))
У меня этот страх с тех пор когда еще тесты не писал, а говнял как на душу ляжет

Bohdan
29.10.2017
16:43:37
у меня есть тестировщик для этих целей:) поверхностно я всегда могу проверить сам, а вот в деталях - это уже излишняя трата времени
ну и тесты - но их пишу по наличию времени

Dmitriy
29.10.2017
18:39:58
А адепты тдд пишут код по наличию времени )

Владимир
29.10.2017
18:46:27
Интересно, а как тестируют код, написанный в функциональном стиле?

Sergey
29.10.2017
18:54:13
они его не тестируют)

Виктор
29.10.2017
19:03:21
Не царское это дело тестировать. Пусть юзеря тестят

Google

Aleh
30.10.2017
06:42:13

Sergey
30.10.2017
07:22:38
Что такое функциональный стиль? Если чистые функции, то проверять их просто)
когда весь домен перенесли на типы и оперируют типами, естественно все без сайд эффектов(IO конечно же выбросить нужно), в таком случае если скомпилировалось - значит правильно работает и тесты будут лишними. в любой момент они математически могут доказать что все работает
краткая выжимка из разговора со скалистом
foreach ($definition['keys'] ?? [] as $id => $val)
на просторах хабра встретил, оказывается не все в курсе что так можно делать)

Vladislav
30.10.2017
07:26:33
undefined offset вылетит

Sergey
30.10.2017
07:27:07
че это?

Vladislav
30.10.2017
07:28:17
странно, мне почему-то казалось всегда что должен вылететь и не юзал эту конструкцию
все ок работает
потестил

Sergey
30.10.2017
07:28:50
$defaultValue = $definition['keys'] ?? [];
это ж пхп 7 конструкции

Valentin
30.10.2017
07:29:55
Ну на самом деле хорошо бы просто не менять тип данных никогда и иметь предсказуемую структуру данных
Null для one-to-one связи ещё ничего, а вот такое как выше делать не надо никогда

Vladislav
30.10.2017
07:30:20
работает)

Sergey
30.10.2017
07:30:46
отсутствие поля тоже

Roman
30.10.2017
07:34:47

Sergey
30.10.2017
07:38:14

Sergey
30.10.2017
07:38:34

Sergey
30.10.2017
07:39:09
приемочные тесты всеравно нужны будут, а за счет типов ты сможешь покрыть все пре/пост кондишены. А вот на счет инвариантов - хз.... хотя думаю можно
но вот подумай, чем это отличается от DbC?

Google

Sergey
30.10.2017
07:39:30
а если это не особо отличается от DbC, чем это отличается от тестов?)
потому "тесты не нужны" - это не верная трактовка вопроса, ты их реализовал просто как часть кода. И это в целом неплохо. Просто по другому.

Sergey
30.10.2017
07:42:17
элементарно можно ошибиться в работе с данными, не учесть какое-либо условие и тд. думать что компилятор тебя от этого всего спасет слишком уж наивно

Sergey
30.10.2017
07:43:09
+ я не случайно говорил что приемочные тесты всеравно нужны
+ есть всякие там quickcheck-и
есть не только юнит тесты (хотя за не имением нормального языка с нормальной системой типов я вынужнен писать тесты)
ну и еще меня всегда смущало что в подобных языках все строго очень, ну то есть я не могу часть системы написать строго потому что она критически важна, а для прототипирования писать абы как

Sergey
30.10.2017
07:45:50
а что мешает писать абы как со строгостью?)

Aleh
30.10.2017
08:09:14

Sergey
30.10.2017
08:10:27
Что здесь функционального?)
хз. но портянка из filter/map/reduce с функциями высшего порядка и без сайд эффектов - это не функционально по их мнению
вот типы это другое дело

Aleh
30.10.2017
08:11:14
Ну типы это клево, спору нет
Да все равно нужны даже юнит-тесты, во всяком случае сейчас

Vladislav
30.10.2017
08:53:09
Ребята, доброе всем утро. вопрос: доктрина с mssql норм работает? кто-то пробовал?

Yuriy
30.10.2017
08:54:16
добрый день
подскажите пожалуйста
у меня есть 2 таблицы, один "product_sn" ко многим "reciept"
для того чтобы создать запись в таблице "reciept" мне нужно преднамерено создавать записи в табл "product_sn", или это можно достигнуть автоматизировано какими то средсвами доктрины?

Dinar
30.10.2017
08:56:02
А про мутационные тесты не слышали?

Andrew
30.10.2017
08:58:12
есть либа на php, но не пробовал
по крайней мере так год назад было

Google

Andrew
30.10.2017
08:59:27

Sergey
30.10.2017
09:05:38
но если у тебя виндовые сервера по идее проблем быть не должно.

Vladislav
30.10.2017
09:17:45
спасибо, но охрана отмена, даже тестить не буду)
проект для pwc конторы которая завязана на ажур, пишут что не могут найти как засетапить mysql, просят mssql.
скинул ссылку им на lmgtfy

Andrew
30.10.2017
09:20:23

Vladislav
30.10.2017
09:21:11
так это не мы выбираем)

Dmitry
30.10.2017
10:01:59
Ну у меня был сифони проект, который в деве жил на постгре, а в проде на ms :) ничо, работало все ;)

Admin
ERROR: S client not available

Владимир
30.10.2017
10:21:23
Так вот для чего инструменты на подобие доктрины нужны! Для того чтобы абстрагироваться от маркетинговых войн )). Мускуль там или mssql для винды, постгря или монгодиби - посрать. Поставил себе доктрину и класть теперь на все с высокой колокольни. Пускай маркетологи срутся на нижних уровнях абстракции. Превый раз с этой точки зрения на это вглянул

Andrey
30.10.2017
10:22:18
В этом практически вся суть любых ORM)

Алексей
30.10.2017
10:23:04
При этом, подозреваю, что в большинстве проектов либо просто никогда не происходит смены СУБД, либо есть рациональная завязка на фичи конкретной.

Vladislav
30.10.2017
10:24:36
Даже пытаться не буду ставить nasal
Mssql

Dmitry
30.10.2017
10:24:59
В теории - да. На практике, как только вы начинаете отходить от примитивных выборок к чему-то завязанному на субд - начнуться проблемы с переходом.

Andrey
30.10.2017
10:25:42
часто к этому приходят, но количество правок уменьшается при правильном использовании

?
30.10.2017
12:05:23
а в симфонях есть какой-нибудь хелпер по путям?
вроде http://www.yiiframework.com/doc-2.0/yii-baseyii.html#getAlias()-detail
путь к бандлу там получить
или ещё что

Google

Vladislav
30.10.2017
12:06:53
скажи задачу
зачем получать путь и тд?

?
30.10.2017
12:07:07
получить путь к бандлу
конкретно это я уже нашёл как
просто интересно, есть ли что-то глобальное для таких штук

Константин
30.10.2017
12:07:43
Как получить путь в светлое будущее?

Алексей
30.10.2017
12:10:59
Кто то юзает NelmioApiDocBundle?

$iD
30.10.2017
12:11:25

Roman
30.10.2017
12:11:26
я юзаю

$iD
30.10.2017
12:11:28
но он же помер

Алексей
30.10.2017
12:11:50
я юзаю
Их Sasndbox используешь?

Roman
30.10.2017
12:12:00

$iD
30.10.2017
12:12:06
свагер вроде

Vladislav
30.10.2017
12:12:09
он возродился
3,0 норм

$iD
30.10.2017
12:12:29
точняк

Алексей
30.10.2017
12:12:33
У меня с ним проблемы. У меня application/json
А бандл умеет только в формы

$iD
30.10.2017
12:12:33
и надпись пропала

Roman
30.10.2017
12:12:45

Vladislav
30.10.2017
12:12:57