コード例 #1
0
ファイル: ObjectChoiceList.php プロジェクト: rouffj/symfony
 /**
  * Creates a new object choice list.
  *
  * @param array $choices The array of choices. Choices may also be given
  *                       as hierarchy of unlimited depth. Hierarchies are
  *                       created by creating nested arrays. The title of
  *                       the sub-hierarchy can be stored in the array
  *                       key pointing to the nested array.
  * @param string $labelPath A property path pointing to the property used
  *                          for the choice labels. The value is obtained
  *                          by calling the getter on the object. If the
  *                          path is NULL, the object's __toString() method
  *                          is used instead.
  * @param array $preferredChoices A flat array of choices that should be
  *                                presented to the user with priority.
  * @param string $groupPath A property path pointing to the property used
  *                          to group the choices. Only allowed if
  *                          the choices are given as flat array.
  * @param string $valuePath A property path pointing to the property used
  *                          for the choice values. If not given, integers
  *                          are generated instead.
  */
 public function __construct($choices, $labelPath = null, array $preferredChoices = array(), $groupPath = null, $valuePath = null)
 {
     $this->labelPath = $labelPath ? new PropertyPath($labelPath) : null;
     $this->groupPath = $groupPath ? new PropertyPath($groupPath) : null;
     $this->valuePath = $valuePath ? new PropertyPath($valuePath) : null;
     parent::__construct($choices, array(), $preferredChoices);
 }
コード例 #2
0
ファイル: SimpleChoiceList.php プロジェクト: rouffj/symfony
 /**
  * Creates a new simple choice list.
  *
  * @param array   $choices          The array of choices with the choices as keys and
  *                                  the labels as values. Choices may also be given
  *                                  as hierarchy of unlimited depth. Hierarchies are
  *                                  created by creating nested arrays. The title of
  *                                  the sub-hierarchy is stored in the array
  *                                  key pointing to the nested array.
  * @param array   $preferredChoices A flat array of choices that should be
  *                                  presented to the user with priority.
  */
 public function __construct(array $choices, array $preferredChoices = array())
 {
     // Flip preferred choices to speed up lookup
     parent::__construct($choices, $choices, array_flip($preferredChoices));
 }
コード例 #3
0
 /**
  * Creates a new object choice list.
  *
  * @param array|\Traversable        $choices          The array of choices. Choices may also be given
  *                                                    as hierarchy of unlimited depth by creating nested
  *                                                    arrays. The title of the sub-hierarchy can be
  *                                                    stored in the array key pointing to the nested
  *                                                    array. The topmost level of the hierarchy may also
  *                                                    be a \Traversable.
  * @param string                    $labelPath        A property path pointing to the property used
  *                                                    for the choice labels. The value is obtained
  *                                                    by calling the getter on the object. If the
  *                                                    path is NULL, the object's __toString() method
  *                                                    is used instead.
  * @param array                     $preferredChoices A flat array of choices that should be
  *                                                    presented to the user with priority.
  * @param string                    $groupPath        A property path pointing to the property used
  *                                                    to group the choices. Only allowed if
  *                                                    the choices are given as flat array.
  * @param string                    $valuePath        A property path pointing to the property used
  *                                                    for the choice values. If not given, integers
  *                                                    are generated instead.
  * @param PropertyAccessorInterface $propertyAccessor The reflection graph for reading property paths.
  */
 public function __construct($choices, $labelPath = null, array $preferredChoices = array(), $groupPath = null, $valuePath = null, PropertyAccessorInterface $propertyAccessor = null)
 {
     $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor();
     $this->labelPath = null !== $labelPath ? new PropertyPath($labelPath) : null;
     $this->groupPath = null !== $groupPath ? new PropertyPath($groupPath) : null;
     $this->valuePath = null !== $valuePath ? new PropertyPath($valuePath) : null;
     parent::__construct($choices, array(), $preferredChoices);
 }
コード例 #4
0
ファイル: StateList.php プロジェクト: mothership-ec/cog
 public function __construct(array $options = array(), array $preferredChoices = array())
 {
     $choices = $this->all();
     $labels = $choices;
     parent::__construct($choices, $labels, $preferredChoices);
 }
コード例 #5
0
ファイル: SimpleChoiceList.php プロジェクト: nicodmf/symfony
 /**
  * Creates a new simple choice list.
  *
  * @param array   $choices          The array of choices with the choices as keys and
  *                                  the labels as values. Choices may also be given
  *                                  as hierarchy of unlimited depth. Hierarchies are
  *                                  created by creating nested arrays. The title of
  *                                  the sub-hierarchy is stored in the array
  *                                  key pointing to the nested array.
  * @param array   $preferredChoices A flat array of choices that should be
  *                                  presented to the user with priority.
  * @param integer $valueStrategy    The strategy used to create choice values.
  *                                  One of COPY_CHOICE and GENERATE.
  * @param integer $indexStrategy    The strategy used to create choice indices.
  *                                  One of COPY_CHOICE and GENERATE.
  */
 public function __construct(array $choices, array $preferredChoices = array(), $valueStrategy = self::COPY_CHOICE, $indexStrategy = self::GENERATE)
 {
     // Flip preferred choices to speed up lookup
     parent::__construct($choices, $choices, array_flip($preferredChoices), $valueStrategy, $indexStrategy);
 }
コード例 #6
0
ファイル: MenuChoiceList.php プロジェクト: geoffreytran/zym
 /**
  * Creates a new entity choice list.
  *
  * @param ObjectManager         $manager      An EntityManager instance
  * @param string                $class        The class name
  * @param string                $labelPath    The property path used for the label
  * @param EntityLoaderInterface $entityLoader An optional query builder
  * @param array                 $entities     An array of choices
  * @param string                $groupPath    A property path pointing to the property used
  *                                            to group the choices. Only allowed if
  *                                            the choices are given as flat array.
  */
 public function __construct(ObjectManager $manager, $class, $labelPath = null, EntityLoaderInterface $entityLoader = null, $entities = null, $groupPath = null)
 {
     $this->em = $manager;
     $this->entityLoader = $entityLoader;
     $this->classMetadata = $manager->getClassMetadata($class);
     $this->class = $this->classMetadata->getName();
     $this->loaded = is_array($entities) || $entities instanceof \Traversable;
     $identifier = $this->classMetadata->getIdentifierFieldNames();
     if (1 === count($identifier)) {
         $this->idField = $identifier[0];
         $this->idAsValue = true;
         if ('integer' === $this->classMetadata->getTypeOfField($this->idField)) {
             $this->idAsIndex = true;
         }
     }
     if (!$this->loaded) {
         // Make sure the constraints of the parent constructor are
         // fulfilled
         $entities = array();
     }
     if (version_compare(Kernel::VERSION, '2.1') <= 0) {
         $this->labelPath = $labelPath ? new DepPropertyPath($labelPath) : null;
         $this->groupPath = $groupPath ? new DepPropertyPath($groupPath) : null;
     } else {
         $this->labelPath = $labelPath ? new PropertyPath($labelPath) : null;
         $this->groupPath = $groupPath ? new PropertyPath($groupPath) : null;
     }
     parent::__construct($entities, array(), array());
 }