dannyben / php-quandl
Requires
- php: >=5.4.0
README
这个库通过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';
设置输出格式。可以是:csv
、xml
、json
和object
(这将返回通过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),则下载整个数据库,否则仅下载最后一天的数据。