我正在为 PHP 使用请求库 ( http://requests.ryanmccue.info/ )。
我安装了 composer 并在 composer.json
中添加了以下 Json 配置:
{
"require": {
"rmccue/requests": ">=1.0"
},
"autoload": {
"psr-0":{"Requests" : "library/"}
}
}
所以在我的 Controller 中,我试图通过库运行一个请求,我得到:
public function index()
{
Requests::register_autoloader();
$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);
var_dump($request->status_code);
// int(200)
var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"
var_dump($request->body);
}
: 在第 34 行的 ../application/controllers/test.php 中找不到类“请求”
最佳答案
有一种将 Requests for PHP 与 Codeigniter 一起使用的简单方法。
您可以按照以下几个简单的步骤操作。
步骤 - 1
解压最新的 Requests for PHP zip 并将库目录的内容复制到 {codeigniter_directory}/application/third_party/Request-{version}
例如,您有 Requests for PHP 1.6.0 和您的CI 项目在 /usr/sites/www/myciproject
然后将文件复制到 /usr/sites/www/myciproject/application/third_party/Requests-1.6.0
。
步骤 - 2
使用此内容在 {codeigniter_directory}/application/libraries
中创建文件 PHPRequests.php
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once APPPATH."/third_party/Requests-1.6.0/Requests.php";
class PHPRequests {
public function __construct() {
Requests::register_autoloader();
}
}
步骤 - 3
在您的 Controller 中,您可以通过加载我们在上一步中创建的 PHPRequests 库来使用请求。
$this->load->library('PHPRequests');
喜欢这个测试功能
public function test()
{
$this->load->library('PHPRequests');
$response = Requests::get('https://github.com/timeline.json');
var_dump($response->body);
}
希望这会有所帮助。
关于Codeigniter 中的 PHP 请求库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376886/