libphonenumber\PhoneNumberUtil::getInstance PHP Method

getInstance() public static method

The {@link PhoneNumberUtil} is implemented as a singleton. Therefore, calling getInstance multiple times will only result in one instance being created.

public static getInstance ( string $baseFileLocation = self::META_DATA_FILE_PREFIX, array $countryCallingCodeToRegionCodeMap = null, libphonenumber\MetadataLoaderInterface $metadataLoader = null, libphonenumber\MetadataSourceInterface $metadataSource = null ) : PhoneNumberUtil
$baseFileLocation string
$countryCallingCodeToRegionCodeMap array
$metadataLoader libphonenumber\MetadataLoaderInterface
$metadataSource libphonenumber\MetadataSourceInterface
return PhoneNumberUtil instance
    public static function getInstance($baseFileLocation = self::META_DATA_FILE_PREFIX, array $countryCallingCodeToRegionCodeMap = null, MetadataLoaderInterface $metadataLoader = null, MetadataSourceInterface $metadataSource = null)
    {
        if (static::$instance === null) {
            if ($countryCallingCodeToRegionCodeMap === null) {
                $countryCallingCodeToRegionCodeMap = CountryCodeToRegionCodeMap::$countryCodeToRegionCodeMap;
            }
            if ($metadataLoader === null) {
                $metadataLoader = new DefaultMetadataLoader();
            }
            if ($metadataSource === null) {
                $metadataSource = new MultiFileMetadataSourceImpl($metadataLoader, __DIR__ . '/data/' . $baseFileLocation);
            }
            static::$instance = new static($metadataSource, $countryCallingCodeToRegionCodeMap);
        }
        return static::$instance;
    }

Usage Example

 /**
  * @param mixed $value
  * @return array|null
  */
 protected function validateValue($value)
 {
     $valid = false;
     $phoneUtil = PhoneNumberUtil::getInstance();
     try {
         $phoneProto = $phoneUtil->parse($value, null);
         // pe($phoneProto);
         if (!empty($this->region) && $this->region !== null) {
             if (is_array($this->region)) {
                 foreach ($this->region as $region) {
                     if ($phoneUtil->isValidNumberForRegion($phoneProto, $region)) {
                         $valid = true;
                         break;
                     }
                 }
             } else {
                 if ($phoneUtil->isValidNumberForRegion($phoneProto, $this->region)) {
                     $valid = true;
                 }
             }
         } else {
             if ($phoneUtil->isValidNumber($phoneProto)) {
                 $valid = true;
             }
         }
     } catch (NumberParseException $e) {
         var_dump($e);
     }
     return $valid ? null : [$this->message, []];
 }
All Usage Examples Of libphonenumber\PhoneNumberUtil::getInstance
PhoneNumberUtil