libphonenumber\prefixmapper\MappingFileProvider::getFileName PHP Метод

getFileName() публичный Метод

public getFileName ( $countryCallingCode, $language, $script, $region )
    public function getFileName($countryCallingCode, $language, $script, $region)
    {
        if (strlen($language) == 0) {
            return "";
        }
        if ($language === 'zh' && ($region == 'TW' || $region == 'HK' || $region == 'MO')) {
            $language = 'zh_Hant';
        }
        // Loop through the $countryCallingCode and load the prefix
        $prefixLength = strlen($countryCallingCode);
        for ($i = $prefixLength; $i > 0; $i--) {
            $prefix = substr($countryCallingCode, 0, $i);
            if ($this->inMap($language, $prefix)) {
                return $language . DIRECTORY_SEPARATOR . $prefix . '.php';
            }
        }
        return "";
    }

Usage Example

 /**
  * @param $prefixMapKey
  * @param $language
  * @param $script
  * @param $region
  * @return PhonePrefixMap|null
  */
 public function getPhonePrefixDescriptions($prefixMapKey, $language, $script, $region)
 {
     $fileName = $this->mappingFileProvider->getFileName($prefixMapKey, $language, $script, $region);
     if (strlen($fileName) == 0) {
         return null;
     }
     if (!isset($this->availablePhonePrefixMaps[$fileName])) {
         $this->loadPhonePrefixMapFromFile($fileName);
     }
     return $this->availablePhonePrefixMaps[$fileName];
 }