Предположим, у меня есть собственный тип формы symfony2, определенный как служба, я хочу получить свое определенное значение по умолчанию в этом настраиваемом виде формы в моем контроллере.Получить значение по умолчанию для преобразователя из специального типа формы symfony2, определенного как служба
Например, я хочу отфильтровать свои данные на основе значения, выбранного в этом настраиваемом виде формы.
Я уже проверяю класс AbstractType, но нет никакой функции для получения значения по умолчанию для распознавателя, определенного из моего пользовательского типа формы.
Я не хочу использовать объект для хранения этих простых данных, это всего лишь 3 строки данных.
<?php
namespace Jariff\AdminBundle\Form\CustomType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class JariffSalutationType extends AbstractType
{
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'empty_value' => '---',
'choices' => array(
'Mr.' => 'Mr.',
'Mrs.' => 'Mrs.',
'Ms.' => 'Ms.',
)));
}
public function getParent()
{
return 'choice';
}
public function getName()
{
return 'jariff_salutation';
}
}
Определение сервиса
services:
jariff_type_salutation:
class: Jariff\AdminBundle\Form\CustomType\JariffSalutationType
tags:
- { name: form.type, alias: jariff_salutation }
Пример использования
$salutation = $this->get('jariff_type_salutation');
$entities = $em->getRepository('JariffMemberBundle:Member')->findBy(array('salutation' => $salution[1]));
Спасибо.
Интересный ответ, записывающий эту 3 строку данных в виде формы и в файле конфигурации имеет одинаковые усилия. Хотя новому программисту в команде требуется больше файлов для открытия при проверке этой функции. Также я редко проверяю конфигурацию yml, за исключением установки нового пакета или начальной настройки проекта. Я все еще жду решения с меньшими усилиями, прежде чем отмечать ваш ответ. Благодарю. – ardianys