@prophp7

Страница 325 из 1387
Kirill
04.04.2017
11:36:43
нет

Evgeniy
04.04.2017
11:37:15
сейчас открою повторю

Kirill
04.04.2017
11:37:16
не суть

это частный случай, когда типы не теряются

Google
Vladislav
04.04.2017
11:37:31
в PHP Storm /** @var ExternalArticle $record **/ и все

Kirill
04.04.2017
11:37:45
потому что декларация типа действует на весь локальный скоуп

Evgeniy
04.04.2017
11:38:06
это частный случай, когда типы не теряются
ну да $c во второй строке на $newC заменить

и потеряется

Kirill
04.04.2017
11:38:09
но в других случаях мы его петеряем, да

Evgeniy
04.04.2017
11:38:18
так вот разговор об этом

чтобы такое не терялось надо или делать кучу булшит кода коллекций которые в phpdoc нужные объекты возвращают

или согласится с этими потерями

Kirill
04.04.2017
11:39:19
или делать как все - помечать в инлайне

Evgeniy
04.04.2017
11:39:33
и очень жаль что нету дженериков или как в java или хотя бы на уровне phpdoc

Kirill
04.04.2017
11:39:34
как привл в пример выше Владислав

Evgeniy
04.04.2017
11:39:43
Google
Kirill
04.04.2017
11:39:47
в phpdoc

Evgeniy
04.04.2017
11:39:48
который дает phpdoc

Kirill
04.04.2017
11:39:52
это шторм их не поддерживает

повторяюсь, в phpdoc есть дженерики

Evgeniy
04.04.2017
11:40:13
да я знаю /** @var $newC ExternalArticle[] */

Kirill
04.04.2017
11:40:15
но шторм их не поддерживает

нет

Collection<User>

Evgeniy
04.04.2017
11:40:39
повторяюсь, в phpdoc есть дженерики
не видел, правда давно его читал, не затруднит ссылку

Василий
04.04.2017
11:40:54
котаны, может вы в привате продолжите это обсуждение?

Evgeniy
04.04.2017
11:40:58
именно на доку по phpdoc где дженерик

Kirill
04.04.2017
11:41:05
https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#abnf

Evgeniy
04.04.2017
11:41:24
Kirill
04.04.2017
11:41:25
https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#collections

Evgeniy
04.04.2017
11:41:42
это тоже только предложенный, еще не принятый

я это видел

но это лишь предложение

которое еще не принято

Kirill
04.04.2017
11:42:47
в phpdocumentator этого нет, если что, верно https://www.phpdoc.org/docs/latest/references/phpdoc/types.html#abnf

Evgeniy
04.04.2017
11:43:51
то что ты показал и про возврат массивов объектов и про документации типов находу через @var

Google
Evgeniy
04.04.2017
11:43:55
я все знал

и ты верно говоришь по этому поводу

Kirill
04.04.2017
11:44:14
так надо было сразу сказать

что проблема в потере типов из источника при множественной передаче

Evgeniy
04.04.2017
11:44:57
я не знал как это формулируется, я показал пример что в java с этим проблем нет

Kirill
04.04.2017
11:44:59
и не было бы срача +)

Evgeniy
04.04.2017
11:45:12
срача и не было )

Kirill
04.04.2017
11:45:15
есть жи

Evgeniy
04.04.2017
11:45:17
было общение)

Kirill
04.04.2017
11:45:31
в джаве можно указать интерфейс для T

и будет потеря инфы о типе, имплементирующем интерфейс

Evgeniy
04.04.2017
11:45:51
да который расширяется)

Evgeniy
04.04.2017
11:45:57
так это я как плюс рассматриваю

полиморфизм же

Kirill
04.04.2017
11:46:18
ну так в коллекции мы тоже можем указать, что возвращаем интерфейс

Evgeniy
04.04.2017
11:46:25
указал интерфейс и складируй туда что угодно с этим интерфейсом)ъ

да

так приходится колхозить)

Kirill
04.04.2017
11:46:42
ну как в джаве

только в пыхе не надо кода писать

Google
Evgeniy
04.04.2017
11:47:14
в java например T instandof RecordInterface

Kirill
04.04.2017
11:47:25
/** * @method SomeInterface first() * @method SomeInterface last() */ class ItemsCollection extends Collection {}

но да, это пипец

Evgeniy
04.04.2017
11:47:59
и ты пишешь ArrayList<~> = new ArrayList(users); где users это массив User который имплементят RecordInterface

Kirill
04.04.2017
11:48:00
:D

Evgeniy
04.04.2017
11:48:11
ой уже от java отвык ArrayList<~> collection = new ArrayList(users);

collection.get(0); вернет юзера вроде

Kirill
04.04.2017
11:48:57
только без тильды =)

Admin
ERROR: S client not available

Evgeniy
04.04.2017
11:48:58
по старой памяти

ну да с java 7 так можно стало

Kirill
04.04.2017
11:49:28
или через ArrayList<User> collection если 6

Evgeniy
04.04.2017
11:49:41
да

но там пинали java за то что проверка типа только на этапе компиляции была

Kirill
04.04.2017
11:50:15
но всё равно типы дополнительно указываются же в циклах

Evgeniy
04.04.2017
11:50:15
а в реальности в рантейме было ArrayList<Object>

да компликт был правильный везде

Kirill
04.04.2017
11:50:26
for (User user: collection) { ... }

Google
Evgeniy
04.04.2017
11:50:42
это тоже java7 в java 6 так низя было )))

вроде

Kirill
04.04.2017
11:51:00
не помню +)

и чем это отличается от? /** @var User $user */ foreach ($collection as $user) { .... }

Evgeniy
04.04.2017
11:51:17
мне в пхп не хватает таких generic как в java

Kirill
04.04.2017
11:51:21
ну да, лаконичнее

Evgeniy
04.04.2017
11:51:25
комментом))

не хватает нормальных анотаций

Kirill
04.04.2017
11:51:37
ой, знаешь сколько всего мне в пыхе не хватает?

:D

Evgeniy
04.04.2017
11:51:45
а не комментариев с разбором их регекспом)

и перегрузки методов)

Kirill
04.04.2017
11:52:07
ну, перегрузка спорна

хотя

Evgeniy
04.04.2017
11:52:25
ой, знаешь сколько всего мне в пыхе не хватает?
ну java хороший язык, как язык она рвет, но проект намного проще на пыхе сделать со всеми минусами)

Kirill
04.04.2017
11:52:26
ну да, наверное всё же нужна

Jan
04.04.2017
11:52:31
как её сделать при динамической типизации-то

Kirill
04.04.2017
11:53:04
да можно естественно, выкидывать ошибки при конфликтах, а остальное как в жабе

Evgeniy
04.04.2017
11:53:59
сейчас это делает слегка костыльно без перегрузки методов в языке

например когда надо конструктор из разных типов

сделать

ты делаешь основной конструктор приватным

Страница 325 из 1387