PagarmePhoneResponseData.php 859 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Data\Pagarme\Response\PagarmeCustomerResponseData\PagarmeCustomerPhonesResponseData;
  3. final readonly class PagarmePhoneResponseData
  4. {
  5. public function __construct(
  6. public ?string $countryCode,
  7. public ?string $areaCode,
  8. public ?string $number,
  9. ) {}
  10. public static function fromArray(?array $payload): ?self
  11. {
  12. if (empty($payload)) {
  13. return null;
  14. }
  15. return new self(
  16. countryCode: $payload['country_code'] ?? null,
  17. areaCode: $payload['area_code'] ?? null,
  18. number: $payload['number'] ?? null,
  19. );
  20. }
  21. public function toArray(): array
  22. {
  23. return [
  24. 'country_code' => $this->countryCode,
  25. 'area_code' => $this->areaCode,
  26. 'number' => $this->number,
  27. ];
  28. }
  29. }