![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/framework/Pricing/Price/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Pricing\Price; /** * The price pool * * @api * @since 100.0.2 */ class Pool implements \Iterator, \ArrayAccess { /** * @var \Magento\Framework\Pricing\Price\PriceInterface[] */ protected $prices; /** * @param array $prices * @param \Iterator $target */ public function __construct( array $prices, \Iterator $target = null ) { $this->prices = $prices; foreach ($target ?: [] as $code => $class) { if (empty($this->prices[$code])) { $this->prices[$code] = $class; } } } /** * Reset the Collection to the first element * * @return mixed */ #[\ReturnTypeWillChange] public function rewind() { return reset($this->prices); } /** * Return the current element * * @return mixed */ #[\ReturnTypeWillChange] public function current() { return current($this->prices); } /** * Return the key of the current element * * @return string */ #[\ReturnTypeWillChange] public function key() { return key($this->prices); } /** * Move forward to next element * * @return mixed */ #[\ReturnTypeWillChange] public function next() { return next($this->prices); } /** * Checks if current position is valid * * @return bool */ #[\ReturnTypeWillChange] public function valid() { return (bool)$this->key(); } /** * Returns price class by code * * @param string $code * @return string */ public function get($code) { return $this->prices[$code]; } /** * The value to set. * * @param string $offset * @param string $value * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { if ($offset === null) { $this->prices[] = $value; } else { $this->prices[$offset] = $value; } } /** * The return value will be casted to boolean if non-boolean was returned. * * @param string $offset * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { return isset($this->prices[$offset]); } /** * The offset to unset. * * @param string $offset * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { unset($this->prices[$offset]); } /** * The offset to retrieve. * * @param string $offset * @return string */ #[\ReturnTypeWillChange] public function offsetGet($offset) { return $this->prices[$offset] ?? null; } }