Trieda `BulkGate\Sms\Message\PhoneNumber` reprezentuje objekt telefónneho čísla.

```php
use BulkGate\Sms\Message\PhoneNumber;
```

Konštruktor prijíma povinný parameter telefónne číslo a nepovinný parameter ISO kódu krajiny.

```php
$phone_number = new PhoneNumber(
    "420777777777", 
    BulkGate\Sms\Country::CZECH_REPUBLIC
);
``` 

Druhý parameter je nutný v prípade, že zadávate telefónne číslo v národnom formáte. Ak zadáte telefónne číslo v národnom formáte a nevyplníte kód [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), BulkGate sa pokúsi doplniť medzinárodnú telefónnu predvoľbu podľa krajiny uvedenej vo vašom používateľskom účte.

Zmeniť telefónne číslo je možné aj po vytvorení inštancie.

```php
/** @var BulkGate\Sms\Message\PhoneNumber $phone_number */
$phone_number->phoneNumber('420777777777');
``` 

Rovnako je možné nastaviť aj ISO kód.

```php
/** @var BulkGate\Sms\Message\PhoneNumber $phone_number */
$phone_number->iso(BulkGate\Sms\Country::CZECH_REPUBLIC);

// alebo

$phone_number->iso('cz');
``` 
V prípade neplatného ISO kódu sa vyvolá výnimka `BulkGate\Sms\Message\InvalidPhoneNumberException`


## Prevod na JSON

```php
/** @var BulkGate\Sms\Message\PhoneNumber $phone_number */
echo json_encode($phone_number);
``` 

Výstupom je:

```json
{
    "number": "420777777777",
    "iso": null
}
``` 

## Ostatné

Získanie naformátovaného telefónneho čísla v reťazci

```php
/** @var BulkGate\Sms\Message\PhoneNumber $phone_number */
$phone_number->getPhoneNumber();
$number = (string) $phone_number; 
echo $phone_number;
```

Získanie ISO kódu
```php
/** @var BulkGate\Sms\Message\PhoneNumber $phone_number */
$phone_number->getIso(); // vráti reťazec alebo null
``` 

Podporuje aj fluentné rozhranie (anglicky [fluent interface](https://en.wikipedia.org/wiki/Fluent_interface))

```php
/** @var BulkGate\Sms\Message\PhoneNumber $phone_number */
$phone_number
    ->phoneNumber('777777777')
    ->iso(BulkGate\Sms\Country::CZECH_REPUBLIC);
```
