
Sergey
05.12.2016
21:07:03
OutOfBoundsException это не подтип LogicException :D
это RuntimeEx

Ivan
05.12.2016
21:07:18
а)
ну другие есть)

Google

Ivan
05.12.2016
21:07:30
DomainException

Sergey
05.12.2016
21:08:14
для более четкого описания проблемы)

Ivan
05.12.2016
21:08:30
я же мессадж пишу для более чёткого описания

Sergey
05.12.2016
21:10:44
ну тут уже вопрос удобства наверное. ну и плюс можешь конкретные кейсы хендлить отдельно, а не общим каким-то хендлером
хотя признаться - я их редко юзаю, хотя стоило бы
switch ($imageType) {
case 'jpg':
case 'jpeg':
header('Content-type: image/jpeg');
imagejpeg($imageResource);
break;
case 'png':
header('Content-type: image/png');
imagepng($imageResource);
break;
default:
throw new DomainException('Unknown image type: ' . $imageType);
break;
}
вот кейс мне нравится

Ivan
05.12.2016
21:12:22
я часто юзаю только два Runtime и Logic и от них наследуюсь для кастомных эксепшнов

Sergey
05.12.2016
21:12:46
я люблю еще InvalidArgument

Ivan
05.12.2016
21:13:40
точно, и этот тоже частенько

Sergey
05.12.2016
21:14:14
ну а например Length или OutOfRange если ты коллекции свои не пишешь.. то они тебе вряд ли пригодятся

Fayozjon [CybernatiC]
05.12.2016
21:31:01
DomainException ?

Dmitriy
05.12.2016
21:31:26

Google

Fayozjon [CybernatiC]
05.12.2016
21:32:15
в nodejs есть domain юзал чтобы передавать дальше по цепочке стек чтобы нода не упала при ошибке )

Aleh
05.12.2016
21:52:03
DomainException ?
что-то из предметной области, ну например в случае каких-нибудь магазинов по доставке, если выбрано время, когда доставка уже не работает или праздничный день

Pavel
06.12.2016
06:08:01
https://www.colinodell.com/blog/2016-12/installing-php-7-1

Ivan
06.12.2016
09:27:26
кто подскажет, как правильно написать модульный тест для сервиса проверки доступа по IP, требующего в зависимость Symfony RequestStack ?
мне нужно мокать RequestStack, или реальный объект создавать?

Sergey
06.12.2016
09:28:17
ну RequestStack без зависимостей, там обычный массив
я б его создал)

Ivan
06.12.2016
09:28:46
я знаю реализацию, что внутри моего сервиса будет вызов $requestStack->getMasterRequest()->getClientIp()
так вот мне надо отдавать разные IP и смотреть на результаты

Hell
06.12.2016
09:29:39
a зде еcть спецы по OAuth2?

Sergey
06.12.2016
09:29:58
а че не сделать сервис, которому даешь IP, а он дает ответ? проще ж тестить

Ivan
06.12.2016
09:30:18
то есть, вместо RequestStack я должен юзать IpProvider?
аа, понял
может, это будет и правильно
сервис юзается в нескольких местах, всюду придётся пихать Request или Ip
вроде как не очень удобно
или это признак неправильной архитектуры?

Sergey
06.12.2016
09:40:13
а че "или"? ты ж можешь только IP передавать

Ivan
06.12.2016
09:41:16
controller -> service1 -> service2 -> service3 -> ipCheck(ip)
?

Sergey
06.12.2016
09:41:52
ну request куда-то передавать это уже не очень затея

Google

Sergey
06.12.2016
09:42:04
как минимум

Ivan
06.12.2016
09:42:52
почему?
много лишних данных?

Ivan
06.12.2016
09:43:07
то есть request не выходит дальше контроллера

Sergey
06.12.2016
09:43:09
а что если тебе этот сервис нужен будет в консольном приложении? или скажем в админке?

Andrew
06.12.2016
09:43:11
а зачем его передавать? Инжектить через экспрешн айпишник?

Ivan
06.12.2016
09:43:44
хм) это нормально будет?)

Andrew
06.12.2016
09:43:52
@=service('request_stack').getMasterRequest().getClientIp()
мокается на ура

Ivan
06.12.2016
09:44:29
ну я точно знаю, что сервис не будет нужен в CLI

Andrew
06.12.2016
09:44:36
в консольных командах работать не будет, но в остальном - норм :)

Ivan
06.12.2016
09:44:56
т.к. этот сервис для аутентификации через web

Ivan
06.12.2016
09:46:08
@andrewkovalyov
@=service('request_stack').getMasterRequest().getClientIp()
это костыль, или нормальное решение?

Andrew
06.12.2016
09:47:41
в твоем случае - костыль, проверка, может ли айпишник авторизоваться - это часть авторизации, а не аутентификации.

Ivan
06.12.2016
09:48:50
я же не говорил, для чего ip
а, говорил, значит соврал)
ip для создания токена аутентификации
да не суть важно, для чего мне нужен ip

Andrew
06.12.2016
09:49:52
тогда проблем не вижу, хотя ты будешь верить какому-то чуваку с интернета?:)

Ivan
06.12.2016
09:50:13
@andrewkovalyov не понял)

Google

Andrew
06.12.2016
09:50:25
ну имхо - не костыль

Ivan
06.12.2016
09:59:50
@andrewkovalyov а если не юзать DiC, как бы ты передал текущий IP, тоже инжектом?

Sergey
06.12.2016
10:00:40
какой-то странный сервис получается, которому в конструктор передается айпишник)

Nick
06.12.2016
10:03:20
Ребят, а можно как-то в гите перенести пачку комитов в отдельную ветку? Мы педалили всё по-колхозному в одной ветке, но теперь надо какую-то стабильную версию выкатить допустим.

Sergey
06.12.2016
10:03:51
если "до определенного коммита", тогда просто на него переключаешься и создаешь новую ветку

Nick
06.12.2016
10:04:40
ну вот мне надо взять версию до определённого коммита + смержить с последними 3-4 коммитами от феда

Sergey
06.12.2016
10:05:07
самый простой вариант как написал выше и потом cherry-pick 3-4 коммита которые нужны

Nick
06.12.2016
10:05:21
угу, спасибо
буду пробовать черипикать

Admin
ERROR: S client not available

Andrew
06.12.2016
10:24:23

FAST
06.12.2016
14:02:57
Ребят привет всем, есть у кого добротный пример реализации класса router ?

Andrew
06.12.2016
14:17:02
symfony/routing?:)

Ivan
06.12.2016
14:17:25
https://github.com/nikic/FastRoute

FAST
06.12.2016
14:20:23
Спасибо

?Томат?
06.12.2016
14:48:08
Чат, вопрос, конечно, не совсем по пхп, но надо. Я создал реп на bitbucket, теперь мне туда надо залить файлы исходников. Как это сделать проще и безболезненнее?
Я умею читать мануалы, но всё равно удалю гланды через анус.

Aleksey
06.12.2016
14:49:38
http://stackoverflow.com/questions/17570446/how-to-add-gitbitbucket-to-existing-source-code-folder
там картинки

Google

?Томат?
06.12.2016
14:49:58

Fayozjon [CybernatiC]
06.12.2016
14:52:42
серьезно ?

Aleksey
06.12.2016
14:53:24
там же картиночки

?Томат?
06.12.2016
14:54:32
Я ж только учусь.

Yaroslav
06.12.2016
15:26:51
а причем тут bitbucket?
или про то что git знать не надо было в другом чатике?

?Томат?
06.12.2016
15:29:16

Fayozjon [CybernatiC]
06.12.2016
15:30:06
Маководы есть?
скажите как с флехи обновиться

Ilya
06.12.2016
15:40:25
в мак нельзя вставить флешку
обновляйся онлайн

Fayozjon [CybernatiC]
06.12.2016
15:44:42
У меня скаченная APP
ее просто запустить не получается )

Aleh
06.12.2016
17:25:25
Тут чатик по symfony: https://telegram.me/symfony_php
и вот напочитать https://gist.github.com/nikic/5015323
хотя старое

Sergey
06.12.2016
17:30:31
где-то этот линк уже проскакивал)
а точно, в пхп группе
на гиттере

Aleh
06.12.2016
17:31:47
ага