1. Go to this page and download the library: Download zentlix/libphonenumber library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberUtil;
return [
'default_region' => PhoneNumberUtil::UNKNOWN_REGION,
'default_format' => PhoneNumberFormat::E164,
];
use libphonenumber\PhoneNumberUtil;
final class SomeService
{
public function __construct(
private readonly PhoneNumberUtil $phoneNumberUtil
) {
}
public function do(): void
{
$phoneNumber = $this->phoneNumberUtil->parse('+1 650 253 0000', 'US');
// ...
}
}
use libphonenumber\PhoneNumber;
use Spiral\PhoneNumber\Validator\Constraints;
class User
{
#[Constraints\PhoneNumber]
protected ?PhoneNumber $phone = null;
}
use libphonenumber\PhoneNumber;
use libphonenumber\PhoneNumberFormat;
use Spiral\PhoneNumber\Validator\Constraints;
class User
{
#[Constraints\PhoneNumber(
format: PhoneNumberFormat::INTERNATIONAL,
defaultRegion: 'US',
message: 'The phone number is invalid!'
)]
protected ?PhoneNumber $phone = null;
}
namespace App\Request;
use Spiral\Filters\Attribute\Input\Post;
use Spiral\Filters\Model\Filter;
use Spiral\Filters\Model\FilterDefinitionInterface;
use Spiral\Filters\Model\HasFilterDefinition;
use Spiral\Validator\FilterDefinition;
final class UserRequest extends Filter implements HasFilterDefinition
{
#[Post]
public string $phone;
public function filterDefinition(): FilterDefinitionInterface
{
return new FilterDefinition([
'phone' => ['phone'],
// or with custom error message
'phone' => [
['phone', 'error' => 'Custom error message.']
]
]);
}
}