2013-05-16 1 views
0

У меня есть несколько сервисов с тегами. Интересно, как продолжить поиск списка всех услуг thoses и ввести его в форму?Как я могу отобразить имя всех служб с определенным тегом в форме symfony2

Вот Exemple того, что я хочу в конце:

$builder->add('days', 'choice', array(
    'choices' => $SERVICES, 
    'multiple' => false, 
    'expanded' => false, 
    )) 

ответ

0

Основная идея заключается в том, чтобы определить сервис, который будет обрабатывать все маркированные услуги определенного типа, а затем в проходе компилятора добавьте тегированные службы к этой службе.

Принимая пример из документации на Working with Tagged Services, вы можете добавить метод, который возвращает все услуги:

<?php 

// ... 

class TransportChain 
{ 
    // ... 

    /** 
    * @return array 
    */ 
    public function getTransports() 
    { 
     return $this->transports; 
    } 
} 

А потом из везде, где есть доступ к DIC, просто используйте:

// Get access to all services tagged with "acme_mailer.transport" 
$transports = $this 
    ->getContainer() 
    ->get('acme_mailer.transport_chain') 
    ->getTransports() 
; 

Конечно, вам придется немного изменить все это, чтобы, возможно, вернуть строки вместо объектов.

 Смежные вопросы

  • Нет связанных вопросов^_^