xxxxxxxxxx
declare(strict_types=1);
class User
{
private int $totalSpent = 0;
/** @psalm-internal Payment */
public function addToAmount(int $amount): void
{
$this->totalSpent += $amount;
}
}
class Payment
{
public function __construct(
public readonly User $user,
public int $amount,
)
{
$user->addToAmount($amount); // all good here
}
}
$user = new User();
$user->addToAmount(20);