Используя symfony2, я следую этой документации для создания и использования службы для выполнения общей задачи.
Я почти все сделал, но у меня еще одна проблема (конечно, из-за некоторых недоразумений на контейнерах обслуживания в Symfony2.
Класс выглядит примерно так:
class MyClass{ private $myProperty; public funciton performSomethingGeneral{ return $theResult; } }
Теперь, в моем config.yml:
services: myService: class: Acme\MyBundle\Service\MyClass arguments: [valueForMyProperty]
Наконец, в моем контроллере:
$myService = $this -> container -> get('myService');
После этой строки, когда я проверяю $myService
, я все еще вижу $ myService -> $ myProperty как неинициализированный.
Я кое-что не получаю должным образом. Что еще мне нужно сделать, чтобы получить инициализацию и готовность к использованию с ранее настроенным значением в config.yml
? И как бы я установил более одного свойства?
arguments
из вашего yml-файла передаются конструктору вашего сервиса, поэтому вы должны его обрабатывать.
services: myService: class: Acme\MyBundle\Service\MyClass arguments: [valueForMyProperty, otherValue]
и php:
class MyClass{ private $myProperty; private $otherProperty; public funciton __construct($property1, $property2){ $this->myProperty = $property1; $this->otherProperty = $property2; } }