![]() 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/mautic.corals.io/vendor/symfony/form/ChoiceList/Loader/ |
<?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\Form\ChoiceList\Loader; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; use Symfony\Component\Form\ChoiceList\ChoiceListInterface; /** * @author Jules Pietri <[email protected]> */ abstract class AbstractChoiceLoader implements ChoiceLoaderInterface { /** * The loaded choices. * * @var iterable|null */ private $choices; /** * @final * * {@inheritdoc} */ public function loadChoiceList(?callable $value = null): ChoiceListInterface { return new ArrayChoiceList($this->choices ?? $this->choices = $this->loadChoices(), $value); } /** * {@inheritdoc} */ public function loadChoicesForValues(array $values, ?callable $value = null) { if (!$values) { return []; } return $this->doLoadChoicesForValues($values, $value); } /** * {@inheritdoc} */ public function loadValuesForChoices(array $choices, ?callable $value = null) { if (!$choices) { return []; } if ($value) { // if a value callback exists, use it return array_map(function ($item) use ($value) { return (string) $value($item); }, $choices); } return $this->doLoadValuesForChoices($choices); } abstract protected function loadChoices(): iterable; protected function doLoadChoicesForValues(array $values, ?callable $value): array { return $this->loadChoiceList($value)->getChoicesForValues($values); } protected function doLoadValuesForChoices(array $choices): array { return $this->loadChoiceList()->getValuesForChoices($choices); } }