- PVSM.RU - https://www.pvsm.ru -

Пакет-географ: готов к работе

Работа над созданием началась ещё в мае [1], в июле [2] была неплохая рабочая версия, и вот в декабре у нас:

  • Полное соответствие кодов ISO ISO-3166-1 и ISO-3166-2
  • Возможность выбора системы деления – ISO, FIPS или GeoNames
  • Полное покрытие стран и областей мира русскими переводами
  • Логичная изоляция данных от кода, открываем дорогу SDK на других языках
  • Официальный сайт с документацией на русском языке [3]

Наша цель очень простая – стать стандартной open-source библиотекой географических данных (административных делений и названий). На сегодня ничего подобного нет, каждому разработчику приходится изобретать велосипед заново.

Если вкратце, то основной плюс от использования библиотеки Географ, это возможность делать что-то вроде:

use MenaraSolutionsGeographerState;
$voronezh = State::build('RU-VOR');
echo "За окном {$voronezh->getName('ru')}n";
echo "Иван живет {$voronezh->inflict('in')->getName()}n";
echo "Лена вернулась {$voronezh->inflict('from')->getName()}n";
// За окном Воронежская область
// Иван живет в Воронежской области
// Лена вернулась из Воронежской области

Если вы считаете, что это очень просто, то знайте, что даже гиганты вроде Facebook и VK до сих пор делают это с ошибками! :)

  • В шаблонах не надо думать о правильном предлоге («в», «во», «на» и так далее)
  • Не надо засорять базу данных и код вторичным для продукта содержимым
  • База данных постоянно правится силами open-source программистов (бесплатно!)

Отделение данных от кода

Важным отличием текущей версии стало разделение репозиториев – данные JSON теперь хранятся как отдельный пакет, что позволяет использовать содержимое в других языках программирования. Кроме того, исправления, скажем, на русском языке будут скачиваться только теми, кому действительно нужен русский язык (установлен пакет с русским языком в composer.json).

Возможность выбора стандарта

По умолчанию Географ использует систему ISO 3166 для деления по странам и областям. ISO – единственный активно поддерживаемый стандарт на сегодня, поэтому мы рекомендуем использовать его. Тем не менее, стандарт можно выбрать:

$country->setStandard(DefaultManager::STANDARD_ISO); // ISO
$country->setStandard(DefaultManager::STANDARD_FIPS); // FIPS 10-4
$country->setStandard(DefaultManager::STANDARD_GEONAMES); // GeoNames

Участие приветствуется

Приглашаем к участию разработчиков! Географ [4] – перспективный и полезный пакет. Среди приоритетов SDK для Node.js и Ruby, а также доведение переводов городов на русском до 100%.

Комментарии, критика и любые другие виды обратной связи также горячо приветствуются.

Автор: dusterio

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/php-2/225638

Ссылки в тексте:

[1] мае: https://habrahabr.ru/post/283136/

[2] в июле: https://habrahabr.ru/post/304098/

[3] документацией на русском языке: https://geographer.su/ru/

[4] Географ: https://github.com/MenaraSolutions/geographer

[5] Источник: https://habrahabr.ru/post/318424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best