vendor/symfony/form/ChoiceList/Factory/Cache/ChoiceLoader.php line 27

  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\Form\ChoiceList\Factory\Cache;
  11. use Symfony\Component\Form\ChoiceList\ChoiceListInterface;
  12. use Symfony\Component\Form\ChoiceList\Loader\ChoiceLoaderInterface;
  13. use Symfony\Component\Form\FormTypeExtensionInterface;
  14. use Symfony\Component\Form\FormTypeInterface;
  15. /**
  16.  * A cacheable wrapper for {@see FormTypeInterface} or {@see FormTypeExtensionInterface}
  17.  * which configures a "choice_loader" option.
  18.  *
  19.  * @internal
  20.  *
  21.  * @author Jules Pietri <jules@heahprod.com>
  22.  */
  23. final class ChoiceLoader extends AbstractStaticOption implements ChoiceLoaderInterface
  24. {
  25.     public function loadChoiceList(callable $value null): ChoiceListInterface
  26.     {
  27.         return $this->getOption()->loadChoiceList($value);
  28.     }
  29.     public function loadChoicesForValues(array $values, callable $value null): array
  30.     {
  31.         return $this->getOption()->loadChoicesForValues($values$value);
  32.     }
  33.     public function loadValuesForChoices(array $choices, callable $value null): array
  34.     {
  35.         return $this->getOption()->loadValuesForChoices($choices$value);
  36.     }
  37. }