/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
src/Illuminate/Cache/RetrievesMultipleKeys.php
52 строки
1 KB
Andrew Brown
more consistent and readable chaining (#53748)
06 дек 2024, 22:16
Не верифицирован
06 дек 2024, 22:16
e4a7357
Код
Авторство
О чём код?
<?php namespace Illuminate\Cache; use Illuminate\Support\Collection; trait RetrievesMultipleKeys { /** * Retrieve multiple items from the cache by key. * * Items not found in the cache will have a null value. * * @param array $keys * @return array */ public function many(array $keys) { $return = []; $keys = (new Collection($keys)) ->mapWithKeys(fn ($value, $key) => [is_string($key) ? $key : $value => is_string($key) ? $value : null]) ->all(); foreach ($keys as $key => $default) { /** @phpstan-ignore arguments.count (some clients don't accept a default) */ $return[$key] = $this->get($key, $default); } return $return; } /** * Store multiple items in the cache for a given number of seconds. * * @param array $values * @param int $seconds * @return bool */ public function putMany(array $values, $seconds) { $manyResult = null; foreach ($values as $key => $value) { $result = $this->put($key, $value, $seconds); $manyResult = is_null($manyResult) ? $result : $result && $manyResult; } return $manyResult ?: false; } }