Symfony: доступ к свойству EntityManagerDecorator - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно украсить Symfony EntityManager и получить доступ к свойству, которое я ввожу в него из ouside, но оно всегда говорит, что это неопределенное свойство.

Это конфиг:

    app.decorated.doctrine.orm.default_entity_manager:
    class: App\Decorator\EntityManager
    public: false
    decorates: "doctrine.orm.default_entity_manager"
    arguments:
        - "@app.decorated.doctrine.orm.default_entity_manager.inner"
        - '%photo_directory_absolute%'

Так, например, я передаю значение '% photo_directory_absolute%'

Это часть декоратора:

    namespace App\Decorator;
    class EntityManager extends EntityManagerDecorator
    {
        public $photoDir;
        public function __construct(EntityManagerInterface $wrapped, string $photoDir)
        {
            parent::__construct($wrapped);
            $this->photoDir = $photoDir;    
        }

Тогда я хочу получить это значение 'photoDir' из Hydrator

namespace App\Hydrator;

class UserAppHydrator  extends ObjectHydrator
{   
    protected function hydrateRowData(array $data, array &$result)
    {
        $hydrated_result = array();
        parent::hydrateRowData($data, $hydrated_result);

       die(var_dump($this->_em->photoDir));

И это показывает мне ошибку:

"Notice: Undefined property: Doctrine\\ORM\\EntityManager::$photoDir"

Чего мне не хватает? Спасибо

...