php Кэш контракты. Использовать ли кеш или нет, работа с API -- пример метода

Пример реализации, в котором можно указать при вызове использовать ли кеш или нет:

/**
 * Данные по клиентам
 * 
 * @param bool $useCache Опционально. Использовать ли кешнирование (по умолчанию не используется)
 * @return array
 */
public function getClients($useCache = false)
{
	/**
	 * @var анонимная функция, которая и выполняет всю нужную логику
	 * (используйте use для передачи в неё переменных из родительской
	 * области видимости)
	 */
	$getResponse = function() {
		$responce = $this->client->ads()->getClients($this->accessToken,
				   ['account_id' => $this->accountId]);
		return $responce;
	};

	if ($useCache) { // кеш контрокат, использующий нашу функцию $getResponse()
		$responce = $this->cache->get(__FUNCTION__, function (ItemInterface $item) use ($getResponse)  {
			$item->expiresAfter($this->defaultCacheLifetime);
			$responce = $getResponse();
			return $responce;
		});
	} else { // если без кеша, то прямой вызов
	  $responce = $getResponse();
	}

//     $this->cache->delete(__FUNCTION__);
   return $responce;
}

Key Words for FKN + antitotal forum (CS VSU):