Pull to refresh

Comments 12

Спасибо! Хорошее оформление и ценная информация :)
[RFC] Object Initializer

Судя по голосованию, его не приняли. Хотя синтаксис интересный.

UFO just landed and posted this here

А теперь предлагаю посмотреть на код какого-нибудь JavaScript и количество вызовов структур вида {key: value}. В PHP аналогичным способом используются массивы ['key' => $val].


Единственное отличие от описанных выше структур — это добавление типизации. Т.е. связь этих аморфных структур с классом. Т.е. не будет никаких аморфных километровых массивов, а набор строго определённых структур.


Так что, имхо, принятие этого RFC создало бы эффект разорвавшейся бомбы для типизации DTO, настолько подобной конструкции не хватает в языке и настолько она нужна.


P.S. В качестве альтернативной реализации можно было бы реализовать каст к классам, вроде:


class ExampleClass
{
    public string $key;
}

$object = (ExampleClass)['key' => $val];
UFO just landed and posted this here
как раз в ПХП этого существенно меньше чем в ЖС.

Я склоняюсь к тому, что не используется как раз потому, что зная о недостатках отсутствия типизации массивов — разработчики стараются избегать этих подходов. Ну а про JS даже говорить нечего, там кроме TypeORM по-моему вообще нет кода, который можно назвать качественным, так что они и не заморачиваются.


так давайте решать главную проблему — слабый (и уже устаревший) механизм типизации а не выискивать какие-то крайние случаи.

Эм. А тут я не понял высказывания. Типизация — это типа уже не модно и нужно завозить какие-нибудь алгебраические типы? Или вообще о чём речь? Где устарело?

UFO just landed and posted this here
Только не понятно зачем new в такой инициализации.
спасибо большое за расписание
Привет, в эту субботу проведем трансляцию с ульяновского PHP-митапа, который упоминался в дайджесте: эфир будет тут, задавайте вопросы в чате трансляции — передадим
Sign up to leave a comment.

Articles