![]() 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/old/vendor/magento/framework/Config/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Config; use Magento\Framework\Filesystem\DriverPool; use Magento\Framework\Filesystem\File\ReadFactory; /** * @api * @since 100.0.2 */ class FileIterator implements \Iterator, \Countable { /** * @var array */ protected $paths = []; /** * @var int */ protected $position; /** * @var ReadFactory */ protected $fileReadFactory; /** * Constructor * * @param ReadFactory $readFactory * @param array $paths */ public function __construct(ReadFactory $readFactory, array $paths) { $this->fileReadFactory = $readFactory; $this->paths = $paths; $this->position = 0; } /** * Rewind * * @return void */ #[\ReturnTypeWillChange] public function rewind() { reset($this->paths); } /** * Current * * @return string */ #[\ReturnTypeWillChange] public function current() { $fileRead = $this->fileReadFactory->create($this->key(), DriverPool::FILE); return $fileRead->readAll(); } /** * Key * * @return mixed */ #[\ReturnTypeWillChange] public function key() { return current($this->paths); } /** * Next * * @return void */ #[\ReturnTypeWillChange] public function next() { next($this->paths); } /** * Valid * * @return bool */ #[\ReturnTypeWillChange] public function valid() { return (bool) $this->key(); } /** * Convert to an array * * @return array */ #[\ReturnTypeWillChange] public function toArray() { $result = []; foreach ($this as $item) { $result[$this->key()] = $item; } return $result; } /** * Count * * @return int */ #[\ReturnTypeWillChange] public function count() { return count($this->paths); } }