2014-02-07 3 views
3

Я попытался добавить множество сервисов в конструкцию контроллера без успеха.Запуск зависимостей Symfony 2 в конструкцию контроллера

class PersonController extends Controller 
{ 
   public function __construct(UtilityService $Utils) 
   { 
       $this->util = $Utils; 
   } 

   public function indexAction() 
   { 
       ... 
   } 

} 

Какой путь я должен соблюдать?

+0

Вам нужно определить контроллер 'PersonController' как [службы] (http://symfony.com/doc/current/cookbook/ controller/service.html) –

ответ

1

, как @Cerad упоминают в this post:

Хитрость заключается в том, чтобы определить свои контроллеры в качестве служб, а затем использовать идентификатор службы вместо имени класса.

http://symfony.com/doc/current/cookbook/controller/service.html

+1

Это не полный ответ, вы не можете просто вставить ссылку на документацию –

+1

Также это просто упоминает другой ответ. Не очень справедливо для @Victor – ferdynator

+0

извините, если вы думаете иначе, но я не вижу смысла дублировать ответ. Даже учитывая, что это то, что ему нужно. Это ясно, быстро и достаточно хорошо для этого –

1

Вы должны определить свой PersonController контроллер в качестве службы в services.yml и впрыснуть им UtilityService:

# src/Acme/HelloBundle/Resources/config/services.yml 
parameters: 
    # ... 
    person.controller.class: Acme\HelloBundle\Controller\PersonController 

services: 
    person.controller: 
     class: "%person.controller.class%" 
     arguments: ["@UtilityService"] 

Где:

  1. person.controller.class является имя вашего контроллера класса
  2. UtilityService в arguments это имя servicem, которое вы хотите придать
Смежные вопросы