我正在重建的网站使用自己的API来收集大部分内容(例如http://api.example.com/)。虽然对此的答案是非常自我解释的,但我只想在继续之前确定。
据我所知,我有两个(可能是3个)通过PHP从api加载数据的选项。
file_get_contents('http://api.example.com/search')
。这将是最简单的方法,但它需要另一个HTTP请求,我认为它稍慢。$_GET
参数在本地读取文件,并以此方式获得结果。 实施例
1
// Include the mysql connections
require_once($_SERVER['DOCUMENT_ROOT'].'/scripts/php/_connections/mysql.company.php');
// Include the Classes (Company and Facebook)
require_once($_SERVER['DOCUMENT_ROOT'].'/scripts/php/_classes/class.company.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/scripts/php/_classes/class.mysql.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/scripts/php/_facebook/config.facebook.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/scripts/php/_facebook/class.facebook.php');
// Create the objects (Company, MySQL, Memcache and Facebook)
$memcache = new memcache;
$facebook = new Facebook($facebook_config);
$mysql = new mysql($memcache);
$company = new company($_DATABASES,$_CONNECTIONS,$mysql,$memache,$facebook);
// CALL THE RELEVANT CLASS METHOD HERE
2。 像(忽略错误)
$API = 'http://api.example.com/search?query=test'
$data = file_get_contents(url_encode($API));
3。 不确定这是否可行,请注意我不想使用最后一种方法
$parameters = array(
'method'=>'GET',
'parameters'=>array(
'function'=>'search',
'query'=>'test'
)
);
$API = some_cool_function('/_scripts/api/2/api/api.php',$parameters);
// I DO NOT WANT TO DO THIS FOR CERTAIN REASONS:
$_GET=array(
'function'=>'search',
'query'=>'test'
);
$data = include('/_scripts/api/2/api/api.php');
答案 0 :(得分:2)
通常我会说第一个选项 - 现在大多数API中都有Oauth等,我确信一个包装得很好的类设置会更容易使用。