Package Data | |
---|---|
Maintainer Username: | ngtfkx |
Maintainer Contact: | den.sandal@gmail.com (Denis Sandal) |
Package Create Date: | 2017-08-23 |
Package Last Update: | 2017-09-14 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-08 03:02:58 |
Package Statistics | |
---|---|
Total Downloads: | 84 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 4 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 7 |
Генерация реальных адресов для нужд разработки.
В отличии от Faker адреса реальныe для каждого города и их можно выводить на карту. Теперь у тестировщика не будет вопросов - почему маркер на карте не совпадает с адресом и как это объяснить клиенту/заказчику.
Via Composer
$ composer require ngtfkx/laradeck-address-generator
Если необходимы консольные команды или подключение своих источников данных, то добавьте в файл config/app.php
(для версий <=5.4.*)
сервис-провайдер
Ngtfkx\Laradeck\AddressGenerator\LaradeckAddressGeneratorServiceProvider::class,
Получение случайного адреса для любого из городов, который есть в пакете
$generator = new \Ngtfkx\Laradeck\AddressGenerator\Generator();
$address = $generator->getRandomAddress();
Получение случайного адреса для любого из указанных городов
$generator = new \Ngtfkx\Laradeck\AddressGenerator\Generator();
$generator->setCities('Tomsk', 'nsk', 'Омск'); // можно передавать массив
$generator->addCity('новосибирск'); // добавит город к ранее установленным
$address = $generator->getRandomAddress(); // адрес будет для какого-то из вышеуказанных 4-х горолдов
Для получения адреса существуют следующие методы
getRandomAddress($forCity = null): Address
- получить один адресgetRandomAddresses(int $count, $forCity = null): Collection
- получить коллекцию с указанным кол-ом адресовПо умолчанию случайный адрес может быть сгенерирован для любого из поддерживаемых городов (если алиас города не указан параметром)
Если надо сгенерировать адрес для конкретного города(ов), то надо принудительно указать эти города. Для этого есть следующие методы
addCity(string $city): Generator
- добавить город по его алиасу в список использованныхaddCities(...$cities): Generator
- добавить несколько городов (можно через запятую, можно массивом)setCities(...$cities): Generator
- добавить несколько городов, обнулись ранее добавленныеСодержить следующие методы
getFull(): string
- получить полный адрес (с городом, улицей и номером дома)getInsideLocality(): string
- получить адрес нутри населенного пункта (только улица и номер дома)getLocality(): string
- получить наименование населенного пунктаgetStreet(): string
- получить наименование улицыgetBuilding(): string
- получить номер домаДанные для генерации адресов по городам храняться в папке data/ru
в файле {cityId}.php
в
виде массива, где {cityId}
- id города в системе http://nominatim.openstreetmap.org/
return [
"1 Восточный спуск" => ["100", "101", "102"],
"1-й квартал" => ["13", "2a", "3/1", "4", "5", "6"],
];
Информация о списке поддерживаемых городов и их алиасах хранится в файле data/ru/cities.php
виде массива
return [
'173343488' => [
'Омск',
'Omsk',
],
'173436661' => [
'Новосибирск',
'Nsk',
'Novo-sibirsk',
'Нск',
],
];
Для подключения пользовательских данных положите файл аналогичной структуры (см. Структура хранения данных) в любое место и укажите абсолютный путь до него от корня диска. Далее подключаете данные следующим образом
$generator = new Generator();
$generator->loadCustomData(111, 'Нефтебаза', storage_path('app/111.php'));
Теперь адреса населенного пункта Нефтебаза доступны для генерации.
Для получения информации о доступных городах и адресах есть консольная команда
php artisan address:stat
Для генерации файла данных есть консольная команда
php artisan address:city-address-ru {city} {url} {--limit=0}
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.