orkestra / guzzle-bundle
此包已被废弃,不再维护。未建议替代包。
Symfony2 的 Guzzle 扩展包
dev-master
2013-01-24 18:54 UTC
Requires
- php: >=5.3.2
- guzzle/guzzle: 3.*
This package is not auto-updated.
Last update: 2020-05-01 16:45:16 UTC
README
为 Guzzle 提供的 Symfony2 扩展包
安装和用法
- 使用 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(), // ... );
- 用法
要创建一个服务,您必须创建一个服务文件
<?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)); } }
此包仍在开发中,可能会有破坏兼容性的更改。