![]() 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/symfony/intl/Data/Generator/ |
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <[email protected]> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Intl\Data\Generator; use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface; use Symfony\Component\Intl\Locale; /** * @author Roland Franssen <[email protected]> * * @internal */ trait FallbackTrait { private $fallbackCache = []; private $generatingFallback = false; /** * @see AbstractDataGenerator::generateDataForLocale() */ abstract protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array; /** * @see AbstractDataGenerator::generateDataForRoot() */ abstract protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array; private function generateFallbackData(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): array { if (null === $fallback = Locale::getFallback($displayLocale)) { return []; } if (isset($this->fallbackCache[$fallback])) { return $this->fallbackCache[$fallback]; } $prevGeneratingFallback = $this->generatingFallback; $this->generatingFallback = true; try { $data = 'root' === $fallback ? $this->generateDataForRoot($reader, $tempDir) : $this->generateDataForLocale($reader, $tempDir, $fallback); } finally { $this->generatingFallback = $prevGeneratingFallback; } return $this->fallbackCache[$fallback] = $data ?: []; } }