Как я могу получить список метазонов из Zend Framework Zend_Locale? - PullRequest
3 голосов
/ 06 октября 2010

Я пытаюсь получить список всех наиболее распространенных часовых поясов для компонента пользовательского интерфейса. Копая в Zend Framework, я обнаружил, что SuppmentalData.xml (используемый компонентом Zend_Locale) имеет список метазонов с предпочтительными именами часовых поясов базы данных TZ

    <mapTimezones type="metazones">
        <mapZone other="Acre" territory="001" type="America/Rio_Branco"/>
        <mapZone other="Afghanistan" territory="001" type="Asia/Kabul"/>
        <mapZone other="Africa_Central" territory="001" type="Africa/Maputo"/>
        <mapZone other="Africa_Central" territory="BI" type="Africa/Bujumbura"/>
        <mapZone other="Africa_Central" territory="BW" type="Africa/Gaborone"/>
        <mapZone other="Africa_Central" territory="CD" type="Africa/Lubumbashi"/>
        (...)

Я думаю, что это может подойти для моих нужд, и я хотел бы извлечь этот список. Вместо того, чтобы взламывать мою версию библиотеки, я хотел бы знать, есть ли способ получить этот список обычными способами (кажется, что нет способа, и эта информация о метазонах, кажется, нигде не запрашивается).

Спасибо!

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Я не уверен, что вы после, но ваш лучший кандидат

$locale->getTranslationList('TerritoryToTimezone');

, где TerritoryToTimezone можно заменить на любой из идентификаторов, описанных в справочном руководстве для подраздела Zend_Locale Получение локализованных данных .

Если ни один из них не дает того, что вы ищете, вы все равно можете использовать DOM для анализа XML .

0 голосов
/ 06 октября 2010

Вы можете использовать timezone_abbreviations_list (), timezone_identifiers_list () ... Последний набор функций здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...