Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony:EntityManagerCorator的访问属性_Php_Symfony_Dependency Injection_Decorator_Symfony4 - Fatal编程技术网

Php Symfony:EntityManagerCorator的访问属性

Php Symfony:EntityManagerCorator的访问属性,php,symfony,dependency-injection,decorator,symfony4,Php,Symfony,Dependency Injection,Decorator,Symfony4,我需要装饰一个Symfony EntityManager并访问我从外部注入的属性,但它总是说这是未定义的属性 这是配置: app.decorated.doctrine.orm.default_entity_manager: class: App\Decorator\EntityManager public: false decorates: "doctrine.orm.default_entity_manager" arguments: -

我需要装饰一个Symfony EntityManager并访问我从外部注入的属性,但它总是说这是未定义的属性

这是配置:

    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%'
例如,Im传递值“%photo\u directory\u absolute%”

这是decorator的一部分:

    namespace App\Decorator;
    class EntityManager extends EntityManagerDecorator
    {
        public $photoDir;
        public function __construct(EntityManagerInterface $wrapped, string $photoDir)
        {
            parent::__construct($wrapped);
            $this->photoDir = $photoDir;    
        }
然后我想从水合器得到这个“photoDir”值

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"

我错过了什么?谢谢

看来你的装饰师没有注册我想这是因为如果我写的是die(var_dump($photoDir));在EntityManagerDecorator的构造函数中,它使用正确的值激发。但是错误引用的是EntityManager类,而不是您的装饰器类。