Разверните базовый класс с помощью большего количества методов из другого пакета (с помощью di-service?) - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть 2 пакета.

Пакет 1:

class EntityOne {

    private $_foo;

    public function setFoo($foo)
    {
        $this->_foo = $foo;
        return $this;
    }

    public function getFoo()
    {
        return $this->_foo;
    }
}

Мой сервис (service.yml)

service:
    MyFooProject\Entity:
        class: MyFooProject\Entity\EntityOne

Пакет 2:

class EntityTwo extends \MyFooProject\Entity\EntityOne {

    private $_bar;

    public function setBar($bar)
    {
        $this->_bar = $bar;
        return $this;
    }

    public function getBar()
    {
        return $this->_bar;
    }
}

Моя служба (service.yml)

service:
    MyBarProject\Entity\EntityTwo
        parent: MyFooProject\Entity\EntityOne

Теперь я хочу вызвать метод setBar() в пакете 1, но Symfony не нашел метод setBar() из пакета 2

function test()
{
    $oEntity = $this->get(MyFooProject\Entity\EntityOne::class);
    $oEntity->setFoo("foo");
    $oEntity->setBar("bar"),
}

Как мне решить проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...