megakor
@megakor
Go/PHP developer | Вконтакте

Точечная нотация в работе с массивами в laravel. Стоит ли использовать?

В laravel есть много хелперов, связанных с работой с массивами.
Одна группа из этих хелперов посвящена точечным нотациям (например arr::has, arr::get и т.д.).

В принципе, внешний вид кода становится более читабельным, как мне кажется:
Arr::has($array, ['product.data.price', 'product.data.name']);

вместо
isset($array['product']['data']['price'], $array['product']['data']['name']);


Стоит ли работать с массивами таким образом по всему проекту?
Или можете привести пример ситуации, когда можно прибегнуть к точечной нотации (или зачем она вообще в таком случае была сделана?). Я просто кроме как с blade еще с этим не сталкивался никак.
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Чисто мое имхо. Это не стандарт.

Если можно не использовать хэлперы - в принципе так и нужно делать, но это скорее относится к операторам в языке ([]), а не стандартным функциям (коей является isset()).

Так что:
Arr::has($array, 'nested.key') а не isset($array['nested']['key'])
Arr::get($array, 'nested.key') а не isset($array['nested']) ? ($array['nested']['key'] ?? null) : null
$array['key'] ?? null а не Arr::get($array, 'key')
$array['key'] ?? doSomething() а не Arr::get($array, 'key', fn () => doSomething())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы