libphonenumber\PhoneNumberUtil::__construct PHP Method

__construct() protected method

This class implements a singleton, so the only constructor is protected.
protected __construct ( libphonenumber\MetadataSourceInterface $metadataSource, $countryCallingCodeToRegionCodeMap )
$metadataSource libphonenumber\MetadataSourceInterface
$countryCallingCodeToRegionCodeMap
    protected function __construct(MetadataSourceInterface $metadataSource, $countryCallingCodeToRegionCodeMap)
    {
        $this->metadataSource = $metadataSource;
        $this->countryCallingCodeToRegionCodeMap = $countryCallingCodeToRegionCodeMap;
        $this->init();
        static::initCapturingExtnDigits();
        static::initExtnPatterns();
        static::initExtnPattern();
        static::$PLUS_CHARS_PATTERN = "[" . static::PLUS_CHARS . "]+";
        static::$SEPARATOR_PATTERN = "[" . static::VALID_PUNCTUATION . "]+";
        static::$CAPTURING_DIGIT_PATTERN = "(" . static::DIGITS . ")";
        static::initValidStartCharPattern();
        static::initAlphaPhoneMappings();
        static::initDiallableCharMappings();
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS = array();
        // Put (lower letter -> upper letter) and (upper letter -> upper letter) mappings.
        foreach (static::$ALPHA_MAPPINGS as $c => $value) {
            static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[strtolower($c)] = $c;
            static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[$c] = $c;
        }
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS += static::$asciiDigitMappings;
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["-"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["-"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["‐"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["‑"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["‒"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["–"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["—"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["―"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["−"] = '-';
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["/"] = "/";
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["/"] = "/";
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[" "] = " ";
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[" "] = " ";
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["⁠"] = " ";
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["."] = ".";
        static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["."] = ".";
        static::$MIN_LENGTH_PHONE_NUMBER_PATTERN = "[" . static::DIGITS . "]{" . static::MIN_LENGTH_FOR_NSN . "}";
        static::$VALID_PHONE_NUMBER = "[" . static::PLUS_CHARS . "]*(?:[" . static::VALID_PUNCTUATION . static::STAR_SIGN . "]*[" . static::DIGITS . "]){3,}[" . static::VALID_PUNCTUATION . static::STAR_SIGN . static::VALID_ALPHA . static::DIGITS . "]*";
        static::$VALID_PHONE_NUMBER_PATTERN = "%^" . static::$MIN_LENGTH_PHONE_NUMBER_PATTERN . "\$|^" . static::$VALID_PHONE_NUMBER . "(?:" . static::$EXTN_PATTERNS_FOR_PARSING . ")?\$%" . static::REGEX_FLAGS;
        static::$UNWANTED_END_CHAR_PATTERN = "[^" . static::DIGITS . static::VALID_ALPHA . "#]+\$";
        static::initMobileTokenMappings();
        static::$GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES = array();
        static::$GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES[] = 86;
        // China
        static::$GEO_MOBILE_COUNTRIES = array();
        static::$GEO_MOBILE_COUNTRIES[] = 52;
        // Mexico
        static::$GEO_MOBILE_COUNTRIES[] = 54;
        // Argentina
        static::$GEO_MOBILE_COUNTRIES[] = 55;
        // Brazil
        static::$GEO_MOBILE_COUNTRIES[] = 62;
        // Indonesia: some prefixes only (fixed CMDA wireless)
        static::$GEO_MOBILE_COUNTRIES = array_merge(static::$GEO_MOBILE_COUNTRIES, static::$GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES);
    }
PhoneNumberUtil