dannyben/php-quandl

v0.5.2 2016-06-22 16:19 UTC

This package is not auto-updated.

Last update: 2024-09-27 16:43:20 UTC


README

Latest Stable Version Build Status Maintainability

这个库通过PHP提供对Quandl API的简单访问。

它提供了几个便捷方法来访问Quandl API的常见端点,以及一个通用的方法来直接访问Quandl的任何端点。

入门

在您的代码中包含Quandl.php类,并运行一个示例。

使用composer安装

$ composer require dannyben/php-quandl

示例

这是一个基本调用。它将返回AAPL的价格数据的PHP对象。

$api_key = "YOUR_KEY_HERE";
$quandl = new Quandl($api_key);
$data = $quandl->getSymbol("WIKI/AAPL");

您可以传递Quandl文档中提到的任何参数。

$quandl = new Quandl($api_key);
$data = $quandl->getSymbol($symbol, [
	"sort_order"      => "desc",
	"rows"            => 10,
	"column_index"    => 4, 
]);

日期范围选项得到特殊处理。您可以使用PHP的strtotime()理解的任何日期字符串。

$quandl = new Quandl($api_key, "csv");
$data = $quandl->getSymbol($symbol, [
	"trim_start" => "today-30 days",
	"trim_end"   => "today",
]);

您还可以搜索整个Quandl数据库,并获取数据源中支持的符号列表。

$quandl = new Quandl($api_key);
$data = $quandl->getSearch("crude oil");
$data = $quandl->getList("WIKI", 1, 10);

要直接访问任何Quandl API端点,请使用get方法。

$quandl = new Quandl($api_key);
$data = $quandl->get("databases/WIKI");

更多示例可以在examples.php文件中找到。

缓存

您可以为quandl对象提供一个缓存处理函数。这个函数应该负责从您的缓存中读取和存储。

请参阅example_cache.php文件。

参考

构造函数

构造函数接受两个可选参数:$api_key$format

$quandl = new Quandl("YOUR KEY", "csv");

您也可以稍后设置这些属性(见下文);

公共属性

$api_key

$quandl->api_key = "YOUR KEY";

设置您的API密钥

$format

$quandl->format = 'csv';

设置输出格式。可以是:csvxmljsonobject(这将返回通过json_decode()获得的PHP对象)。

$force_curl

$quandl->force_curl = true;

强制使用curl下载。默认情况下,如果可用,我们将尝试使用file_get_contents下载,并且只有在最后才会回退到curl。

$no_ssl_verify

$quandl->no_ssl_verify = true;

禁用curl SSL验证。如果您收到一个错误,说“SSL证书问题”,请将其设置为true。

$timeout

$quandl->timeout = 60;

设置下载操作的超时时间。

$last_url

print $quandl->last_url;

保存从Quandl请求的最后一个API URL,用于调试。

$error

print $quandl->error;

如果在从Quandl获取数据时出现错误,则请求响应将为false,并且此属性将包含错误消息。

$was_cached

print $quandl->was_cached;

当使用缓存处理程序时,如果响应来自缓存,此属性将设置为true

方法

get

mixed get( string $path [, array $params ] )

// Examples
$data = $quandl->get( 'datasets/EOD/QQQ' );
$data = $quandl->get( 'datasets/EOD/QQQ', ['rows' => 5] );

返回一个包含来自Quandl的任何API端点的响应的对象。结果格式取决于$quandl->format的值。

可选参数数组是一个关联的key => value数组,包含Quandl支持的任何参数。

您不需要在数组中传递auth_token,它将被自动附加。

getSymbol

mixed getSymbol( string $symbol [, array $params ] )

// Examples
$data = $quandl->getSymbol( 'WIKI/AAPL' );
$data = $quandl->getSymbol( 'WIKI/AAPL', ['rows' => 5] );

返回一个包含给定符号数据的对象。结果格式取决于$quandl->format的值。

可选参数数组是一个关联的key => value数组,包含Quandl支持的任何参数。

您不需要在数组中传递auth_token,它将被自动附加。

getSearch

mixed getSearch( string $query [, int $page, int $per_page] )

// Examples
$data = $quandl->getSearch( "gold" );
$data = $quandl->getSearch( "gold", 1, 10 );

返回一个搜索结果对象。默认情况下,每页的结果数量限制为300。

注意,目前Quandl不支持此节点的CSV响应,因此如果$quandl->format是"csv",则此调用将返回JSON字符串。

getList

mixed getList( string $source [, int $page, int $per_page] )

// Examples
$data = $quandl->getList( 'WIKI' );
$data = $quandl->getList( 'WIKI', 1, 10 );

返回给定源中的符号列表。默认情况下,每页的结果数量限制为300。

getMeta

mixed getMeta( string $source )

// Example
$data = $quandl->getMeta( 'WIKI' );

返回有关符号的元数据。

getDatabases

mixed getDatabases( [int $page, int $per_page] )

// Examples
$data = $quandl->getDatabases();
$data = $quandl->getDatabases( 1, 10 );

返回可用的数据库列表。默认情况下,每页结果数量限制为100。

getBulk

此功能仅支持高级数据库。

boolean getBulk( string $database, string $path [, boolean $complete] )

// Examples
boolean getBulk( 'EOD', 'eod-partial.zip' );
boolean getBulk( 'EOD', 'eod-full.zip', true );

下载整个数据库并将其保存为ZIP文件。如果$complete为true(默认为false),则下载整个数据库,否则仅下载最后一天的数据。