File: ShortNumberInfo.md

package info (click to toggle)
php-giggsey-libphonenumber 9.0.23-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 22,492 kB
  • sloc: php: 485,443; sh: 107; makefile: 37
file content (185 lines) | stat: -rw-r--r-- 5,320 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# ShortNumberInfo

## Getting Started

As with [PhoneNumberUtil](PhoneNumberUtil.md), ShortNumberInfo uses a singleton.

```php
$shortNumberUtil = \libphonenumber\ShortNumberInfo::getInstance();
```

## Example Numbers

### `getExampleShortNumber()`

Returns an example short phone number for the `$regionCode` supplied

```php
var_dump($shortNumberUtil->getExampleShortNumber('GB'));
// string(3) "150"
```

### `getExampleShortNumberForCost()`

Returns a valid short number for the specified `$regionCode` and `$cost` category.

```php
var_dump($shortNumberUtil->getExampleShortNumberForCost('GB', \libphonenumber\ShortNumberCost::TOLL_FREE));
// string(6) "116000"

var_dump($shortNumberUtil->getExampleShortNumberForCost('GB', \libphonenumber\ShortNumberCost::PREMIUM_RATE));
// string(0) ""

var_dump($shortNumberUtil->getExampleShortNumberForCost('US', \libphonenumber\ShortNumberCost::PREMIUM_RATE));
// string(5) "24280"
```

## Emergency Numbers

### `isEmergencyNumber()`

Returns whether the supplied `$number` exactly matches an emergency service number for the `$region`.

```php
var_dump($shortNumberUtil->isEmergencyNumber('999', 'GB'));
// bool(true)

var_dump($shortNumberUtil->isEmergencyNumber('9999', 'GB'));
// bool(false)
```

### `connectsToEmergencyNumber()`

Checks whether the `$number` (when dialled) might connect to an emergency service within the given `$region`.

```php
var_dump($shortNumberUtil->connectsToEmergencyNumber('999', 'GB'));
// bool(true)

// Note, 999 is a GB emergency service, but additional digits after the 999
// might be possible to dial.
var_dump($shortNumberUtil->connectsToEmergencyNumber('999123', 'GB'));
// bool(true)
```

## Short Number Validation

### `isPossibleShortNumber()`

Checks whether the specified `PhoneNumber` object is a possible short number.

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(44);
$phoneNumber->setNationalNumber('118118');

var_dump($shortNumberUtil->isPossibleShortNumber($phoneNumber));
// bool(true)
```

### `isPossibleShortNumberForRegion()`

Checks whether the supplied `$shortNumber` (which can either be a string or a `PhoneNumber` object) is possible for the `$region`.

```php

$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(44);
$phoneNumber->setNationalNumber('118118');

var_dump($shortNumberUtil->isPossibleShortNumberForRegion($phoneNumber, 'GB'));
// bool(true)

var_dump($shortNumberUtil->isPossibleShortNumberForRegion('1234', 'GB'));
// bool(true)
```

### `isValidShortNumber()`

Checks whether the specified `PhoneNumber` object is a valid short number.

**Important:** This doesn't actually validate whether the number is in use. libphonenumber-for-php is only able to validate number patterns, and isn't able to check with telecommunication providers.

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(44);
$phoneNumber->setNationalNumber('118118');

var_dump($shortNumberUtil->isValidShortNumber($phoneNumber));
// bool(true)
```

### `isValidShortNumberForRegion()`

Checks whether the supplied `$shortNumber` (which can either be a string or a `PhoneNumber` object) is valid for the `$region`.

**Important:** As with `isValidShortNumber()`, this can not validate whether the number is actually in use.

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(44);
$phoneNumber->setNationalNumber('118118');

var_dump($shortNumberUtil->isValidShortNumberForRegion($phoneNumber, 'GB'));
// bool(true)

var_dump($shortNumberUtil->isValidShortNumberForRegion('1234', 'GB'));
// bool(false)
```

### `isCarrierSpecific()`

Returns whether the supplied `PhoneNumber` is a carrier specific short number.

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(1);
$phoneNumber->setNationalNumber('611');

var_dump($shortNumberUtil->isCarrierSpecific($phoneNumber));
// (bool) true
```

### `isCarrierSpecificForRegion()`

Returns whether the supplied `PhoneNumber` is a carrier specific short number in the `$region` provided.

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(1);
$phoneNumber->setNationalNumber('611');

var_dump($shortNumberUtil->isCarrierSpecificForRegion($phoneNumber, 'US'));
// (bool) true
```

## Expected Costs

### `getExpectedCost()`

Returns the expected cost (as a `ShortNumberCost` constant) of the supplied `PhoneNumber` short number.

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(44);
$phoneNumber->setNationalNumber('118118');

var_dump($shortNumberUtil->getExpectedCost($phoneNumber, 'GB'));
// int(10) (\libphonenumber\ShortNumberCost::UNKNOWN_COST)
```

### `getExpectedCostForRegion()`

Returns the expected cost (as a `ShortNumberCost` constant) of the supplied `$number` (which can be a string or a `PhoneNumber` object).

```php
$phoneNumber = new \libphonenumber\PhoneNumber();
$phoneNumber->setCountryCode(44);
$phoneNumber->setNationalNumber('118118');

var_dump($shortNumberUtil->getExpectedCostForRegion($phoneNumber, 'GB'));
// int(10) (\libphonenumber\ShortNumberCost::UNKNOWN_COST)

var_dump($shortNumberUtil->getExpectedCostForRegion('24280', 'US'));
// int(4) (\libphonenumber\ShortNumberCost::PREMIUM_RATE)
```