sedovsg/cbrf-dbf

用于操作俄罗斯中央银行DBF数据库的库

1.0.0 2019-03-02 10:37 UTC

This package is auto-updated.

Last update: 2024-09-16 22:43:43 UTC


README

Packagist Latest Stable Version License Build Status Codecov Total Downloads

这是一个用于操作俄罗斯中央银行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

如何安装Composer

使用

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许可证。有关更多信息,请参阅许可证文件