Pull to refresh

Comments 24

Ох. Readme пустой, на сайте coming soon, зато code of conduct есть! :-)

:-) думаю скелет пакета из шаблона генерировался, так что не удивительно, а родительский проект preprocess.io давно известен.
Nullsafe Calls — как по мне, очень полезная штука. Надеюсь, её примут.

Согласен. Я был в восторге, когда эта фича появилась в C#, и мне очень не хватает её в PHP.


Правда в PHP один из методов в цепочке может помимо null вернуть какой-нибудь тип отличный от ожидаемого, но это уже другой разговор, фича всё равно крутая.

UFO just landed and posted this here

Это если его декларировать function myMethod(): ?SomeType;, если его опустить function myMethod(); то метод по прежнему может возвращать что угодно.

Да, но писать код, объявляя типы всё ещё не обязательно. И даже если для себя принято такое правило, сторонний код не обязан ему подчиняться.

И даже если для себя принято такое правило, сторонний код не обязан ему подчиняться.

Инверсия управления — наше всё )
А расскажите нам непросвященным.

В чем киллер-фича (кроме билдеров) вызова тройной и более цепочки?
Вот ожидаете вы получить объект с вложенным объектом и обратиться к какому нибудь свойству последнего. Но так сложилось, что в обоих случаях вместо объекта может быть и нул. И вот, предлагается сахарок, чтобы упростить конструкции с проверками на нул.
А теперь расскажите мне.

<?php $obj?->getOne()?->getTwo();


На каком из этапов я получил null?
Это не важно в задачах где предлагается использовать такую конструкцию.
Вам в общем случае не должно требоваться обращение к третьему уровню вложенности стейта.
Если это произошло, то у вас что-то пошло не так как минимум в рамках SRP
UFO just landed and posted this here
Вам в общем случае не должно требоваться обращение к третьему уровню вложенности стейта.
Если это произошло, то у вас что-то пошло не так как минимум в рамках SRP

Хм, извините, но причем тут я…

Ну если уж на то пошло, то я бы и не стал на этом архитектуру делать. Вытащить что-то из ответа апи, мапнуть данные в другую структуру, форматирование во вьюхе — вон там это может пригодиться. При работе с тупыми объектами данных.
Любая конвеерная обработка в таком виде, в большинстве случаев, выглядит нагляднее.
> [RFC] Allow throwing exceptions from __toString() — Предложение принято единогласно.
Это не первый ли случай в истории? )
Автор предложения считает синтаксис use в замыканиях не очень удобным и предлагает перенести его в тело функции

1. Не вижу ничего неудобного.
2. Поменьше бы подобных изменений, автору предложения похоже просто нечем заняться.
Господа, у меня вопрос не в тему, но давно волнующий. Какова вероятность, что состоится вот это изменение wiki.php.net/rfc/php8/merge_member_symbol_tables?

Сильно ломанёт совместимость. В моём хозяйстве точно, в каких-то библиотеках тоже видел. Всегда считал это фичей PHP. То что можно сделать метод, который работает с одноименным свойством. Стоит ли начинать отучаться от этого подхода?
Насколько я вижу, RFC в статусе черновика и явно не закончен, так что вероятность есть, но думаю не скоро.
This strategy is based on the assumption that modifying the smallest amount of the engine is probably the best way forward. If we discover there are other benefits (perhaps in significantly reduced memory) we may unify the symbol tables.

Здесь не совсем верный посыл.
1 — Это не упростит модификацию движка, а усложнит, поскольку придется постоянно проверять, что именно извлечено из HashTable
2 — Каких либо заметных преимуществ по памяти это не даст, поскольку объем значащих данных не поменяется, а HashTable он и в Африке HashTable — ключ->указатель. Кроме того, возможно сами значащие данные придется как-то тэгировать для упрощения работы с ними
Sign up to leave a comment.

Articles