Prado\I18N\core\CultureInfo::getCultures PHP Method

getCultures() static public method

This function can be called statically.
static public getCultures ( $type = CultureInfo::ALL ) : array
return array list of culture information available.
    static function getCultures($type = CultureInfo::ALL)
    {
        $dataDir = CultureInfo::dataDir();
        $dataExt = CultureInfo::fileExt();
        $dir = dir($dataDir);
        $neutral = array();
        $specific = array();
        while (false !== ($entry = $dir->read())) {
            if (is_file($dataDir . $entry) && substr($entry, -4) == $dataExt && $entry != 'root' . $dataExt) {
                $culture = substr($entry, 0, -4);
                if (strlen($culture) == 2) {
                    $neutral[] = $culture;
                } else {
                    $specific[] = $culture;
                }
            }
        }
        $dir->close();
        switch ($type) {
            case CultureInfo::ALL:
                $all = array_merge($neutral, $specific);
                sort($all);
                return $all;
                break;
            case CultureInfo::NEUTRAL:
                return $neutral;
                break;
            case CultureInfo::SPECIFIC:
                return $specific;
                break;
        }
    }

Usage Example

Beispiel #1
0
 function testCultureList()
 {
     $allCultures = CultureInfo::getCultures();
     $neutralCultures = CultureInfo::getCultures(CultureInfo::NEUTRAL);
     $specificCultures = CultureInfo::getCultures(CultureInfo::SPECIFIC);
     //there should be 246 cultures all together.
     $this->assertEquals(count($allCultures), 246);
     $this->assertEquals(count($neutralCultures), 76);
     $this->assertEquals(count($specificCultures), 170);
 }