����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 3.145.179.147 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/vendor/moneyphp/money/src/Currencies/ |
Upload File : |
<?php namespace Money\Currencies; use Cache\Taggable\TaggableItemInterface; use Money\Currencies; use Money\Currency; use Psr\Cache\CacheItemPoolInterface; /** * Cache the result of currency checking. * * @author Márk Sági-Kazár <mark.sagikazar@gmail.com> */ final class CachedCurrencies implements Currencies { /** * @var Currencies */ private $currencies; /** * @var CacheItemPoolInterface */ private $pool; /** * @param Currencies $currencies * @param CacheItemPoolInterface $pool */ public function __construct(Currencies $currencies, CacheItemPoolInterface $pool) { $this->currencies = $currencies; $this->pool = $pool; } /** * {@inheritdoc} */ public function contains(Currency $currency) { $item = $this->pool->getItem('currency|availability|'.$currency->getCode()); if (false === $item->isHit()) { $item->set($this->currencies->contains($currency)); if ($item instanceof TaggableItemInterface) { $item->addTag('currency.availability'); } $this->pool->save($item); } return $item->get(); } /** * {@inheritdoc} */ public function subunitFor(Currency $currency) { $item = $this->pool->getItem('currency|subunit|'.$currency->getCode()); if (false === $item->isHit()) { $item->set($this->currencies->subunitFor($currency)); if ($item instanceof TaggableItemInterface) { $item->addTag('currency.subunit'); } $this->pool->save($item); } return $item->get(); } /** * {@inheritdoc} */ public function getIterator() { return new \CallbackFilterIterator( $this->currencies->getIterator(), function (Currency $currency) { $item = $this->pool->getItem('currency|availability|'.$currency->getCode()); $item->set(true); if ($item instanceof TaggableItemInterface) { $item->addTag('currency.availability'); } $this->pool->save($item); return true; } ); } }