Laravel World – это пакет со списком стран, штатов, городов, валют и часовых поясов. World интегрирует данные с моделями Eloquent через базу данных и предоставляет фасады, помощники и маршруты API:
use Nnjeim\World\World;
$action = World::countries();
/*
{
"success": true,
"message": "countries",
"data": [
{
"id": 1,
"name": "Afghanistan"
},
{
"id": 2,
"name": "Åland Islands"
},
...
],
}
*/
Вот еще один пример из файла readme с использованием фильтров для получения страны и городов внутри страна:
// Fetch a country and cities
$action = World::countries([
'fields' => 'states,cities',
'filters' => [
'iso2' => 'FR',
]
]);
/*
{
"success": true,
"message": "countries",
"data": [
"id": 77,
"name": "France",
"states": [
{
"id": 1271,
"name": "Alo"
},
{
"id": 1272,
"name": "Alsace"
},
],
"cities": [
{
"id": 25148,
"name": "Abondance"
},
{
"id": 25149,
"name": "Abrest"
},
...
]
],
}
*/
Этот пакет также поддерживает локализацию (поддерживаемые локали см. в readme), предоставляет конечные точки API для всех данные, а также есть помощники для форматирования телефонных номеров и т. д.
Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный кодна GitHub.