sedovsg / cbrf-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-16 23:38:18 UTC
README
Библиотека для работы с базой данных DBF, получения и обновления данных в формате DBF от Центрального банка Российской Федерации, которая проста в использовании. С ней вы сможете получать актуальные данные о кредитных учреждениях, путём чтения и разбора файлов DBF.
Источник данных: http://www.cbr.ru/Queries/FileSource/33411/GetBicCatalog.xml
Требования
- php-dbase >= 7.0 (PECL)
- php-zip >= 7.1
- php-xml >= 7.1
Установка пакета 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/cbrf-dbf
Использование
Структура и описание DBF-файлов: Руководство пользователя ЦБ
Подключение к источнику данных
use Cbrf\Dbf; $dbf = (new Dbf('dir_name'));
Получение всех элементов
$result = $dbf-> select('NNP, NAMEP')-> from('BNKSEEK.DBF')-> exect()-> fetchAll();
Получение бщего количества элементов в источнике
$result = $dbf-> select()-> from('BNKSEEK.DBF')-> exect()-> rowCount();
Получение информации о свойствах полей источника
$result = $dbf-> select()-> from('BNKSEEK.DBF')-> exect()-> getFieldsInfo();
Получение количества полей источника
$result = $dbf-> select()-> from('BNKSEEK.DBF')-> exect()-> numFields();
Получение полей источника
$result = $dbf-> select()-> from('BNKSEEK.DBF')-> exect()-> getFields();
Фильтрация данных
Выборка данных по условию "Равно"
$result = $dbf-> select()-> from('KORREK.DBF')-> equal('DT_IZM = 19970617,CHS = 1447936521')-> exect()-> fetch();
Выборка данных по условию "Исключено"
$result = $dbf-> select()-> from('BNKSEEK.DBF')-> exclude('NNP = КРАСНОДАР')-> exect()-> fetch();
Выборка данных по условию "Включает"
$result = $dbf-> select()-> from('BNKSEEK.DBF')-> include('KSNP = 3010181094525000')-> exect()-> fetch();
Методы установки полей select()
и фильтрации данных equal(), exclude(), include()
можно использовать несколько раз, через цепочку вызовов, например:
$result = $dbf-> select('NNP, NAMEP')-> select('KSNP')-> from('BNKSEEK.DBF')-> include('KSNP = 301018109')-> exclude('NNP = КРАСНОДАР')-> exect()-> fetch();
Кроме того, можно указать данные какого фильтра будут включены в итоговую выборку:
$result = $dbf-> select('NNP, NAMEP')-> select('KSNP')-> from('BNKSEEK.DBF')-> include('KSNP = 301018109')-> exclude('NNP = КРАСНОДАР')-> exect()-> fetch(Dbf::FETCH_INCLUDE);
Загрузка архива DBF с сайта ЦБ РФ
$dbf->download();
Обновление DBF-файлов в директории
$dbf->update();
Закрытие соединения с источником
$dbf->сlose();
Журнал Изменений
Пожалуйста, смотрите список изменений для получения дополнительной информации о том, что изменилось в последнее время.
Тестирование
$ vendor/bin/phpunit
Лицензия
Лицензия BSD 3-Clause. Пожалуйста, см. файл лицензии для получения дополнительной информации.