sedovsg / fias-dbf
Библиотека для работы с базой данных DBF ФИАС РФ
Requires
- php: >=7.1
Requires (Dev)
- phpunit/php-invoker: ^2.0
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2025-03-29 00:42:09 UTC
README
Библиотека для работы с базой данных DBF, получения и обновления данных в формате DBF от Федеральной информационной адресной системы Российской Федерации, которая проста в использовании.
Государственный адресный реестр – это государственный базовый информационный ресурс, содержащий сведения об адресах и реквизитах документов о присвоении, об изменении, аннулировании адреса, путём чтения и разбора файлов DBF
Источник данных: https://fias.nalog.ru/Updates.aspx
Требования
Установка пакета PECL
$ sudo pecl install package_name; $ echo "extension=/usr/lib/php/20170718/package_name.so" | sudo tee /etc/php/7.2/mods-available/package.ini; $ sudo ln -s /etc/php/7.2/mods-available/package_name.ini /etc/php/7.2/cli/conf.d/; $ sudo ln -s /etc/php/7.2/mods-available/package_name.ini /etc/php/7.2/apache2/conf.d/
Установка
Установка через Composer:
$ composer require sedovsg/fias-dbf
Использование
Структура и описание DBF-файлов: Руководство пользователя ФИАС РФ
Подключение к источнику данных
use Fias\Dbf; $dbf = (new Dbf('dir_name'));
Получение всех элементов
$result = $dbf-> select()-> from('STRSTAT.DBF')-> exect()-> fetchAll();
Получение бщего количества элементов в источнике
$result = $dbf-> select()-> from('STRSTAT.DBF')-> exect()-> rowCount();
Получение информации о свойствах полей источника
$result = $dbf-> select()-> from('FLATTYPE.DBF')-> exect()-> getFieldsInfo();
Получение количества полей источника
$result = $dbf-> select()-> from('ACTSTAT.DBF')-> exect()-> numFields();
Получение полей источника
$result = $dbf-> select()-> from('FLATTYPE.DBF')-> exect()-> getFields();
Фильтрация данных
Выборка данных по условию "Равно"
$result = $dbf-> select()-> from('STRSTAT.DBF')-> equal('STRSTATID = 2, NAME = Литер')-> exect()-> fetch();
Выборка данных по условию "Исключено"
$result = $dbf-> select()-> from('STRSTAT.DBF')-> exclude('STRSTATID = 1')-> exect()-> fetch();
Выборка данных по условию "Включает"
$result = $dbf-> select()-> from('ESTSTAT.DBF')-> include('NAME = Гараж')-> exect()-> fetch();
Методы установки полей select()
и фильтрации данных equal(), exclude(), include()
можно использовать несколько раз, через цепочку вызовов, например:
$result = $dbf-> select('STRSTATID, NAME')-> select('SHORTNAME')-> from('STRSTAT.DBF')-> include('STRSTATID = 2')-> exclude('STRSTATID = 1')-> exect()-> fetch();
Кроме того, можно указать данные какого фильтра будут включены в итоговую выборку:
$result = $dbf-> select('STRSTATID, NAME')-> select('SHORTNAME')-> from('STRSTAT.DBF')-> include('STRSTATID = 2')-> exclude('STRSTATID = 1')-> exect()-> fetch(Dbf::FETCH_INCLUDE);
Загрузка архива DBF с сайта ФИАС РФ
$dbf->download();
Обновление DBF-файлов в директории
$dbf->update();
Закрытие соединения с источником
$dbf->сlose();
Журнал Изменений
Пожалуйста, смотрите список изменений для получения дополнительной информации о том, что изменилось в последнее время.
Тестирование
$ vendor/bin/phpunit
Лицензия
Лицензия BSD 3-Clause. Пожалуйста, см. файл лицензии для получения дополнительной информации.