php - 在页面上包含 API 的最有效方法是什么?

标签 php api class

我正在重建的网站使用自己的 API 来收集大部分内容(例如 http://api.example.com/ )。虽然这个问题的答案是不言自明的,但我只是想在继续之前确定一下。

据我所知,我有 2 个(可能有 3 个)选项可以通过 PHP 从 api 加载数据。

  1. 我可以将类加载到文档中并从类中手动收集数据(可能是最好的方法,但需要更多代码,并且如果对类进行更改,我必须更改页面和 API 文档而不是只是更改 API)
  2. 使用file_get_contents('http://api.example.com/search')。这将是最简单的方法,但它需要另一个 HTTP 请求,我认为它会稍微慢一些。
  3. 最后,如果这可能的话,我认为这将是最好的方法,但据我所知,我认为这是不可能的。本地读取文件并实现$_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');

最佳答案

通常我会说第一个选项 - 使用 Oauth 等,这些天在大多数 API 中都已到位,我确信一个精心包装的类设置会更容易使用。

关于php - 在页面上包含 API 的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9447251/

相关文章:

php - 如何从带有感叹号的 URL 中检索数据?

java - 处理 API 请求时出现 MismatchedInputException

c++ - 我可以像命名空间一样使用类作用域,而不是用类名作为前缀吗

java - 相邻类中的 ActionListener 实现

Javascript:更改具有特定类和属性的元素 -> 纯 Javascript

php - 启用基本身份验证 Codeigniter rest API

php - 将自定义字段外部链接添加到文件类别页面

javascript - "Message send"使用 PHP 和 JS 的确认弹出窗口

objective-c - 提交新故事时为"You broke Reddit"

python - 在 betfair.py 上调用 SSL