
Максим
01.08.2019
17:17:27
что не так?

Terminator
01.08.2019
17:23:19
@evilbloodydemon будет жить. Поприветствуем!

Некто
01.08.2019
18:47:19

Pavel
01.08.2019
19:16:53
@ibxth а чего ты выходил

Google

Aleksandr
01.08.2019
19:28:24

Terminator
01.08.2019
20:02:52
AV будет жить. Поприветствуем!

AlekVolsk
01.08.2019
20:04:52
приветствую )
имеется ли в php возможностьобращения к классам через переменную?
$class = 'className';
$obj = new $class();
что-то вроде такого

Pavel
01.08.2019
20:06:45

AlekVolsk
01.08.2019
20:10:17
ReflectionClass, спасибо )

ustasby
01.08.2019
20:18:44
Кто знает приемлимые варианты билинга на симфони?

Terminator
02.08.2019
09:45:32
@naimjonYunusov будет жить. Поприветствуем!

Naimjon
02.08.2019
09:45:49
Всем здрасьте
есть GET
data={"test1":"value1","test":"test"}
скажите кто знает как декодировать в php?
Делаю так: json_decode($this->request->get['data']); но не декодируется

Arkadiy
02.08.2019
10:18:22
В общем ребят я не сильно прохаванный в ивентах, но объясните мне что означает "AfterTalks Sprint #6" Я понимаю что это "После переговоров спринт", но не понимаю в каком стиле будет проходить мероприятие

Google

Adel
02.08.2019
10:22:17
Почему спринт - не знаю

Arkadiy
02.08.2019
10:22:57

Adel
02.08.2019
10:23:33
Есть вероятность

Arkadiy
02.08.2019
10:24:20
Понял, спасибо

Pavel
02.08.2019
10:26:17
Звучит как серия распитий стаканчиков по 100 грамм после докладов.

Arkadiy
02.08.2019
10:32:49

Terminator
02.08.2019
10:49:05
@egor90wd будет жить. Поприветствуем!

Egor
02.08.2019
10:50:15
привет, подскажите плз, рефлекшном можно достасть значения объектов пришедших в конструктор объекта?

Pavel
02.08.2019
11:34:36

Egor
02.08.2019
11:35:16
понял, уже разобрался

Dozvon
02.08.2019
12:17:48
Привет

I no live|21:10:06
02.08.2019
12:17:49
Привет сейчас меня нет, я отвечю вам позже!.

Dozvon
02.08.2019
12:19:05
Как можно получить имя папки в которой находится папка со скриптом ?

Andrew P.
02.08.2019
12:20:09

Aleksandr
02.08.2019
12:31:25
getcwd
Это же текущая рабочая дирректория.
А ему, видимо, нужно realpath(DIR.'/../');

Andrew P.
02.08.2019
12:32:18

Aleksandr
02.08.2019
12:33:03
Я предполагаю, а не читаю мысли. Один фиг getcwd совсем мимо кассы, т.к. возвращает текущую рабочую дирректорию

Andrew P.
02.08.2019
12:34:11

Google

Maksim
02.08.2019
12:37:30
Добрый день, скажите пож, protected методы можно протестировать через Mockery? пока только увидел как можно из замокать, а протестить? как вызвать их из теста

Anatoliy
02.08.2019
12:41:11
вызвать из теста публичные методы которые используют приватные - не вариант?

Maksim
02.08.2019
12:41:58

Anatoliy
02.08.2019
12:45:56
ну на практике я бы так не заморачивался, биснесу нужно что бы приложение работало, а не что бы было приватные метобы были бы покрыты тестами
если это тдд то делаешь сначала меток публичным, тестиш его во все стороны, а потом делаешь приватным и уже тестишь те публичные методы которые завязаны на приватных
вообще какая задача решается этими тестами?

Maksim
02.08.2019
12:47:57
соответственно нужно вызвать этот метод и замокать реальный запрос к микросервису вернув свой массив результатов
и проверить что эти результаты правильно записались в объекты
или упали если каких-то данных нету

Pavel
02.08.2019
12:52:48
А вообще ты не должен этого хотеть, протектед методы нельзя тестировать.

Maksim
02.08.2019
12:54:36

Pavel
02.08.2019
12:55:13
Вот через публичный метод ты должен тестировать все возможные комбинации.
Если там в методе дергаются какие-то сервисы то замокай их с нужным поведением. Проверь что это сервисы вызываются и т.д.
Если этот метод так важен сам по себе, то можно его вынести в отдельный сервис и уже отдельно тестировать.


Maksim
02.08.2019
13:00:58
Если этот метод так важен сам по себе, то можно его вынести в отдельный сервис и уже отдельно тестировать.
что значит в отдельный сервис?) ухх... это и есть класс сервиса который получает данных из микросервиса, единственное что есть еще кеш, то есть публичный метод в этом классе только один:
его задача проверить есть ли в кеше для переданных сущностей данные, для тех которых нету в кеше мы дозапрашиваем из сервиса и выполняем merge в один большой резльтат - который возвращаем из этого класса, или вы предлгаете раздробить этот класс на 2 сервиса, один будет называться сервис кеша, второй сервис работы с микросервисом ? получается либо архитектура заранее не верная исходя из ваших предложений, либо пишем код не для денег а ради тестов )


Pavel
02.08.2019
13:03:18
> либо пишем код не для денег а ради тестов )
Ну, чтобы писать код для денег, приходится писать код для тестов, такова селяви
Иначе будут появляться баги, и деньги будут утекать на их исправление.
Но тут насколько я могу судить по расплывчатому описанию можно написать 2 группы тестов - одна на получение данных когда известно что их нет в кеше, другая на получение данных когда известно что они есть в кеше.

Google

Pavel
02.08.2019
13:04:37
Во втором случае в тесте надо будет прописать условие что обращения к сервису никогда не должно произойти.
$this->expect($this->never())->method(...

Terminator
02.08.2019
13:06:40
@system0balance будет жить. Поприветствуем!

Mr. Blonde
02.08.2019
13:07:32
✋

Terminator
02.08.2019
13:08:23
@glex82 будет жить. Поприветствуем!

[Anonymous]
02.08.2019
13:08:45
Мускул можно вообще использовать при большом объеме данных?
Есть бд с юзерами у каждого должно быть от 3 до 6 ссылок. Получается нужна отдельная тублица, где будет по одной ссылке на каждого пользователя. Вопрос в том, что будет по производительности если например 25к пользователей и 100к ссылок в общем? выборка делается каждый раз при подгрузке пользователя. Создается ощущение что мускул для токого не предназначен ☹️☹️

Aleksandr
02.08.2019
13:11:37

Maksim
02.08.2019
13:12:54

Pavel
02.08.2019
13:14:06
Тест не должен проверять что кеш и http правильно работает, на них надо написать свои тесты.

[Anonymous]
02.08.2019
13:14:22

Maksim
02.08.2019
13:15:02

Aleksandr
02.08.2019
13:15:42

[Anonymous]
02.08.2019
13:17:00

Aleksandr
02.08.2019
13:17:22

[Anonymous]
02.08.2019
13:17:23
точнее не на каждого, а на определенного
окей))

Maksim
02.08.2019
13:19:22

Pavel
02.08.2019
13:19:41

Google

Maksim
02.08.2019
13:23:41
Без кода я не знаю что советовать.
в любом случае это уже можно почитать паттерны подходы, основная идея понятна, сейчас выполню feflection class и invoke чтобы просто покрыть этот метод, а в будущем отрефакторим