У меня есть этот код, и что-то мне кажется неправильным. Дело в том, что мне нужно присвоить одно и то же значение двум разным атрибутам. Один из моей черты, а другой из моего текущего класса.
Я могу sh Я мог бы полностью изолировать свою черту, и мне не пришлось делать это назначение в конструкторе моего дочернего класса.
Код:
interface ARepoInterface extends BaseRepoInterface {}
interface BRepoInterface extends BaseRepoInterface {}
trait Foo {
protected BaseRepoInterface $repo;
public function method(array $array): void {
// Do stuff with $repo
}
}
class A
{
private ARepoInterface $ARepo;
protected BaseRepoInterface $repo;
use Foo;
public function __construct(ARepoInterface $ARepo)
{
//@todo This is weird
$this->ARepo = $this->repo = $ARepo;
}
//Other methods
}
class B
{
private BRepoInterface $BRepo;
protected BaseRepoInterface $repo;
use Foo;
public function __construct(BRepoInterface $BRepo)
{
//@todo This is weird
$this->BRepo = $this->repo = $BRepo;
}
//Other methods
}
Заранее благодарю за совет