Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Цепочка вызова методов объекта. #30

Open
toxaw opened this issue Jun 11, 2021 · 2 comments
Open

Цепочка вызова методов объекта. #30

toxaw opened this issue Jun 11, 2021 · 2 comments

Comments

@toxaw
Copy link

toxaw commented Jun 11, 2021

На одной из цепочки (кроме последней) может оказаться null.

image

Есть вариант: Каждый этап цепочки нужно проверять на null, чтобы перейти на следующую цепочку
image

или null-safe оператор уже на php 8.0.

Но было бы не плохо, если бы объекты и его методы (по получению значений) были бы построены через паттерн Null object, чтобы не приходилось бы каждую цепочку проверять на null во избежании аварийного завершения выполнения кода.

Это спорный issue, т.к. думаю, скоро выйдет обновление битрикса под php 8.0.

Версии:

iblock 21.300.0
main 21.300.0

@medveddev
Copy link
Owner

штатный null-safe, как мне кажется, выглядит гораздо более привлекательно:

$country = $session?->user?->getAddress()?->country;
vs
$country = optional(optional(optional($session)->user)->getAddress())->country

учитывая близость php8, сейчас сомнительно добавление такого костыля в ядро

@north-leshiy
Copy link

Пометьте как wontfixed и закройте. чтобы не висела

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants