orkestra/guzzle-bundle

此包已被废弃,不再维护。未建议替代包。

Symfony2 的 Guzzle 扩展包

安装: 233

依赖者: 0

建议者: 0

安全: 0

星标: 10

关注者: 0

分支: 2

公开问题: 10

类型:symfony-bundle

dev-master 2013-01-24 18:54 UTC

This package is not auto-updated.

Last update: 2020-05-01 16:45:16 UTC


README

为 Guzzle 提供的 Symfony2 扩展包

安装和用法

  1. 使用 Composer

要使用 Composer 安装 OrkestraGuzzleBundle,只需将以下内容添加到您的 composer.json 文件中

// composer.json
{
    // ...
    require: {
        // ...
        "orkestra/guzzle-bundle": "dev-master"
    }
}

然后,您可以通过在您的 composer.json 文件所在目录中运行 Composer 的 update 命令来安装新的依赖项

$ php composer.phar update

Composer 将自动下载所有必要的文件,并为您安装它们。接下来,您只需更新您的 AppKernel.php 文件,并注册新的包

<?php

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new Orkestra\Bundle\GuzzleBundle\GuzzleBundle(),
    // ...
);
  1. 用法

要创建一个服务,您必须创建一个服务文件

<?php
// ..src/Acme/AcmeBundle/Services/AcmeService.php
namespace Acme\AcmeBundle\Services;

use Orkestra\Bundle\GuzzleBundle\Services\Service as AbstractService;
use Orkestra\Bundle\GuzzleBundle\Services\Annotation\Command;
use Orkestra\Bundle\GuzzleBundle\Services\Annotation\Doc;
use Orkestra\Bundle\GuzzleBundle\Services\Annotation\Param;
use Orkestra\Bundle\GuzzleBundle\Services\Annotation\Headers;
use Orkestra\Bundle\GuzzleBundle\Services\Annotation\Type;

class AcmeService extends AbstractService
{
    /**
     * @Command(name="acme_users", method="GET", uri="/users")
     * @Doc("Get list of Acme users")
     */
    public function acmeUsersCommand()
    {
        return $this->getResponse();
    }

    /**
     * @Command(name="acme_user_id", method="GET", uri="/users/{user_id}")
     * @Doc("Find user by id")
     * @Param(name="user_id", type="integer", required="true")
     */
    public function acmeUserByIdCommand()
    {
        //Here you can manipulate the response, you can bind it to an object for example
        return $this->getResponse();
    }
}

服务创建后,您必须在您的 config.yml 文件中定义它

guzzle:
  services:
    AcmeService:
      class: Acme\AcmeBundle\Services\AcmeService
      params:
        base_url: https://api.acme.com

参数以数组形式传递给构造函数,并转换为 Guzzle 的配置。现在您可以使用 Guzzle 使用该服务了!!

<?php
//...
class AcmeController extends Controller
{
    public function acmeAction()
    {
        $guzzle = $this->get('guzzle');
        //Get list of users
        $users = $guzzle->getService('AcmeService')->execute('acme_users');
        //Get a user by id
        $oneUser = $guzzle->getService('AcmeService')->execute('acme_user_id', array('user_id' => 1));
    }
}

此包仍在开发中,可能会有破坏兼容性的更改。