-
-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Description
Hello, I have 2 classes in different namespaces, and trait connecting them, ex:
namespace Command\Common\Traits;
use Command\Model\Payment\UserAccountDetails;
trait UserDetailsAwareTrait
{
/**
* @var UserAccountDetails
*/
protected $userAccountDetails;
public function getUserAccountDetails(): UserAccountDetails
{
return $this->userAccountDetails;
}
public function setUserAccountDetails(UserAccountDetails $userAccountDetails): void
{
$this->userAccountDetails = $userAccountDetails;
}
}
namespace Command\Bank;
use Command\Common\Traits\UserDetailsAwareTrait;
use Command\Model\Payment\UserData;
use Money\Money;
use Ramsey\Uuid\UuidInterface;
class DepositCommand
{
use UserDetailsAwareTrait;
}
namespace Command\Model\Payment;
class UserAccountDetails
{
/**
* @var bool|null
*/
private $accountVerified;
public function isAccountVerified(): ?bool
{
return $this->accountVerified;
}
public function setAccountVerified(?bool $accountVerified): UserAccountDetails
{
$this->accountVerified = $accountVerified;
return $this;
}
}
And logic failure occurs in resolvePartialStructuralElementName
.
$context
variable content:
and $type = "UserAccountDetails"
.
So it cannot be just simple $namespace . $type
, I guess it should check within trait namespace of UserAccountDetails
, but I don't know where it cames from.
It seems that another library have already resolved this issue, you can take a look and this one
Maybe $context
should include UserDetailsAwareTrait
trait uses, so it would be resolved as $namespaceAliases[$typeParts[0]]
NicoBoos
Metadata
Metadata
Assignees
Labels
No labels