-
- 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