首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码点火器中的PHP请求库

代码点火器中的PHP请求库
EN

Stack Overflow用户
提问于 2014-06-24 01:08:54
回答 5查看 9.9K关注 0票数 11

我正在使用请求库(http://requests.ryanmccue.info/)作为PHP。

我安装了composer,并在composer.json中添加了以下Json配置

代码语言:javascript
复制
{
   "require": {
      "rmccue/requests": ">=1.0"
   },
     "autoload": {
     "psr-0":{"Requests" : "library/"}
     }
}

因此,在我的控制器中,我试图通过库运行一个请求,然后我得到:

代码语言:javascript
复制
 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中找不到类“请求”

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-06-24 01:30:49

您不需要将autoload块添加到composer.json中,包括require块中的库将使用包提供的自动配置。

您通常使用自动加载块来配置未通过composer包安装的代码加载。

您还需要require编写器自动加载文件,如果您还没有

代码语言:javascript
复制
require 'vendor/autoload.php';

在需要composer库的代码之前运行的地方(通常在“引导”过程中)

而且,您需要运行composer install来实际安装配置的依赖项。

票数 5
EN

Stack Overflow用户

发布于 2015-01-22 12:59:47

有一种简单的方法可以使用请求用于PHPCodeigniter

你可以遵循以下几个简单的步骤。

Step - 1

解压缩对PHP的最新请求,并将库目录的内容复制到{codeigniter_directory}/application/third_party/Request-{version},例如,您有PHP1.6.0的请求,您的CI项目在/usr/sites/www/myciproject中,然后将文件复制到/usr/sites/www/myciproject/application/third_party/Requests-1.6.0

Step - 2

使用此内容在PHPRequests.php中创建{codeigniter_directory}/application/libraries文件

代码语言:javascript
复制
<?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();
    }
}

Step - 3

在控制器中,您可以通过加载我们在前面步骤中创建的PHPRequests库来使用请求。

代码语言:javascript
复制
$this->load->library('PHPRequests');

就像这个测试函数

代码语言:javascript
复制
public function test()
{
    $this->load->library('PHPRequests');
    $response = Requests::get('https://github.com/timeline.json');
    var_dump($response->body);
}

希望这能帮上忙。

票数 23
EN

Stack Overflow用户

发布于 2017-09-05 20:02:54

我将在Gopkumar的一个写得很好的答案中添加一些要点,以使它在编码器3.x中工作。

步骤1

在composer.json中添加请求库

步骤2

安装依赖关系composer install

步骤3

使用此内容在{codeigniter_directory}/application/libraries中创建一个文件{codeigniter_directory}/application/libraries(注意,请求库的路径发生了更改)

代码语言:javascript
复制
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');  

require_once FCPATH."vendor/rmccue/requests/library/Requests.php";
class PHPRequests {
    public function __construct() {
       Requests::register_autoloader();
    }
}

步骤4

在控制器中,您可以通过加载我们在前面步骤中创建的PHPRequests库来使用请求。

代码语言:javascript
复制
$this->load->library('PHPRequests');

就像这个测试函数

代码语言:javascript
复制
public function test()
{
    $this->load->library('PHPRequests');
    $response = Requests::get('https://github.com/timeline.json');
    var_dump($response->body);
}

希望它能帮到别人

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24376886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档