
Kirill
04.04.2017
11:19:23
читак

Evgeniy
04.04.2017
11:19:26
это и есть generic Базовый

Aleh
04.04.2017
11:19:30
в jsdoc да, хыхы

Evgeniy
04.04.2017
11:19:31
тебе об этом и говорят

Google

Evgeniy
04.04.2017
11:19:57
так тебе и говорят что вернуть массив чего то, это костыль
и что в языке нет generic и для ооп это плохо

Kirill
04.04.2017
11:20:16
так возвращается коллекция

Evgeniy
04.04.2017
11:20:23
и требуется делать лишнюю работу в виде объявлений коллекций как я показал

Aleh
04.04.2017
11:20:33
в языке ладно, но даж в тулзах и стандартах не придумал как обойти

Evgeniy
04.04.2017
11:20:41

Kirill
04.04.2017
11:20:47
ой, всё
мучайся

Evgeniy
04.04.2017
11:20:53
у меня могут быть и другие объекты
в других яхыках это решается изящней
но даже туже java пинают за кривые generic

Kirill
04.04.2017
11:21:21
зато в других языках другие проблемы

Evgeniy
04.04.2017
11:21:24
те кто пишут на плюсах

Google

Aleh
04.04.2017
11:21:26
там потом начнется проблема вариативности типов

Evgeniy
04.04.2017
11:21:38
вариативность насрать

Kirill
04.04.2017
11:21:45
ага, вспоминаем шаблоны
отлично

Evgeniy
04.04.2017
11:21:51
там указывает что T instandOf Interface

Aleh
04.04.2017
11:21:55
нужен будет думать над синтаксисом ковариантных и контрвариантных типов
потом баундед полиморфизм

Evgeniy
04.04.2017
11:22:07
нет это уже слишком глубоко
там пинают в основном java за следующее

Aleh
04.04.2017
11:22:27
структурные и номинальные типы

Evgeniy
04.04.2017
11:22:32
что проверка типа в generic происходит только на этапе компиляции
а в runtime там лежит объект и значит туда можно положить что угодно
и получить runtime exception

Kirill
04.04.2017
11:23:05
some(a<23, 42> ololo); угадайте, что за выражение написано на джаве, ага
:D

Evgeniy
04.04.2017
11:23:35
говорят о том что отсутствует функционал который может быть полезный

Aleh
04.04.2017
11:24:01

Evgeniy
04.04.2017
11:24:03
ты говоришь все есть возвращай массив объектов и радуйся

Aleh
04.04.2017
11:24:10
проверки в рантайме - говно

Google

Kirill
04.04.2017
11:24:14
лучше его отсутсвие и возможность реализовать, нежели присутсвие в виде костыля

Evgeniy
04.04.2017
11:24:19
тебе говорят что этот возврат массива объектов может быть недостаточным
и показывают пример

Kirill
04.04.2017
11:24:29
от которого дизайн джавы засрали

Evgeniy
04.04.2017
11:24:37
ты говоришь ну ебать пиши кучу лишнего кода и страдай

Kirill
04.04.2017
11:24:43
я не пишу

Evgeniy
04.04.2017
11:24:46
тебе показывают как в других языках это делается

Kirill
04.04.2017
11:24:47
и не страдаю
я знаю
как это делается

Evgeniy
04.04.2017
11:24:57
мы рады за тебя
но тебе показали проблему

Evgeniy
04.04.2017
11:25:11
и решение ты не предоставил

Kirill
04.04.2017
11:25:22
предоставил

Evgeniy
04.04.2017
11:25:22
там 2 варианта либо писать лишний булшит код
либо терять инфу о типажх
процитируй комментарий
свой с решением

Kirill
04.04.2017
11:26:39
https://github.com/LaravelRUS/laravel.ru/blob/2.0/server/app/Services/DataProviders/LaravelNewsDataProvider.php#L40

Google

Kirill
04.04.2017
11:26:43
лучше так

Evgeniy
04.04.2017
11:26:45
утверждение что, что то не нужно, когда ты не имешь опыта работы с этим инструментом
нет не лучше

Kirill
04.04.2017
11:27:27
я писал компилятор php в джава байткод
так что не надо тут "не работал" =)

Evgeniy
04.04.2017
11:27:54
потому что там написано там или объект Collection или массив объектов ExternalArticle
я писал искуственный интелект, но что то не получилось, но я писал ИИ
такое же заявление

Admin
ERROR: S client not available

Evgeniy
04.04.2017
11:29:35
теперь вернемся к тому синтаксису

Kirill
04.04.2017
11:29:53
https://github.com/jphp-compiler/jphp

Evgeniy
04.04.2017
11:29:58
когда ты обратишься к методу коллекции

Kirill
04.04.2017
11:30:06
Вместе с Димой

Evgeniy
04.04.2017
11:30:10
коллекция тебе будет возвращать абстрактные типы

Kirill
04.04.2017
11:30:45
Ты бы ещё спросил кто такой Никита Попов
или Дима Стогов

Evgeniy
04.04.2017
11:31:07
кто то юзает jphp в production ?

Михаил
04.04.2017
11:31:10

Google

Kirill
04.04.2017
11:31:12

Evgeniy
04.04.2017
11:31:40
а ключевая вешь в generic работать с тем объектом что ты положил

Kirill
04.04.2017
11:31:40
я ридми там писал, как собирать свои экстеншены в вики

Evgeniy
04.04.2017
11:32:01
чтобы был автокомлит по объектам
которые внутри

Kirill
04.04.2017
11:32:13
он будет только в итераторах

Evgeniy
04.04.2017
11:32:34
он будет в forech, но опять же нет

Kirill
04.04.2017
11:32:47
ну блин, кэп

Evgeniy
04.04.2017
11:32:49
в forech если ты не работал с методами коллекеци
он будет вот так работать

Kirill
04.04.2017
11:33:04
через жопу
надо отдельно метить, верно

Evgeniy
04.04.2017
11:33:44
$collection = $object->getCollection();
foreach($collection as $record) {
$record; // здесь будет ExternalArticle
}
но если ты делал что то типо такое

Михаил
04.04.2017
11:34:59
так у тебя внутри коллекции помечено, что она хранит. А если ты хочешь сделать коллекцию общего назначения, в которой любые типы могут находиться?

Kirill
04.04.2017
11:35:17
тогда отдельно надо помечать

Михаил
04.04.2017
11:35:27
ну вот об этом и печаль

Evgeniy
04.04.2017
11:35:29
$collection = $object->getCollection();
$collection = $collection->filter('somefunc');
foreach($collection as $record) {
$record; // вот мы и проебали в автокомплите знания о ExternalArticle

Kirill
04.04.2017
11:35:51

Evgeniy
04.04.2017
11:35:53
потери знаний в автокомплите об объекте