如何以及在何处将API放入Codeigniter文件夹?
以及如何使用Codeigniter调用API?
谢谢!
答案 0 :(得分:1)
如果您的站点有API,那么合适的放置位置是应用程序/控制器文件夹中的某个控制器,这就是您如何响应来自外部的API调用。 例如:
class Api extends CI_Controller { //Your code goes here }
如果您想使用另一个想要获得响应的API,那么最佳做法是在application / libraries / Some_Api.php中创建类,它将处理对外部API的请求和响应,当然您需要在你的控制器,模型等的某个地方调用它......根据你的需要。
修改强> 的 例如:
class Myapi extends CI_Controller { public function __construct() { parent::__construct(); } //Here goes your function: public function api_call() { //Some params that Some_Api class will need (if needed of course) $params = array('url' => 'https://checkout.google.com', 'username' => 'your_username'); //Include the library require_once(APPPATH.'libraries/Some_Api.php'); //Create instance of it $api = new Some_Api($params); //Call the external API and collect the response. //In most cases the response is XML and you need to process it as you need it. $response = $api->call_some_api_method(); //Process the response here. //Save to database/file, send emails, do whatever you need to. } }
请注意,我使用了一些简单的例子来解释这个过程通常如何进行。大部分工作应该在Some_Api类中完成。 我希望这对你有所帮助!
答案 1 :(得分:0)
我也一直对此有疑问。我会告诉你我的方法,我很想得到反馈。当包含其他人的API时,我已将其包含在模型中
例如
class Model extends CI_Model{
.
.
.
function writeLocally{
//do some stuff
$this->apiWrite();
}
private function apiWrite{
//api write to 3rd party
}
}
我猜这不是基于上面答案的最佳方法,但无论如何这是我的两分钱。