如何在symfony2中使用第三方api

时间:2013-12-31 10:36:39

标签: symfony

基本上我试图在symfony2应用程序中集成第三方api。我有来自api文档的php类。我想在我的自定义捆绑控制器中集成它。

我还想添加配置api密钥和秘密的选项。我不知道如何开始。请看下面我想做的事情

实施例: -

namespace Acme\DemoBundle\Controller;

class DemoController extends Controller
{
    public function indexAction()
    {

    $myApi = new MyApi($key,$secret); // this is the stuff, I am trying to do!

        return array();
    }
}

首先我尝试创建library format symfony package。我不知道如何实现这种类型。有人可以告诉我我认为我需要做什么。

2 个答案:

答案 0 :(得分:6)

要以正确的方式做到这一点,你必须宣布api class为服务&使用依赖注入来注入参数:

parameters:
    your_api.class:      Acme\HelloBundle\Lib\YourApiClass
    your_api.key:        "key value for your api"
    your_api.token:      "token value for your api"

services:
   yourApiService:
       class:        "%your_api.class%"
       arguments:    ["%your_api.key%", "%your_api.token%"]

在你的控制器中你可以访问许多其他地方:

$api = $this->get('yourApiService');

查看更多信息:http://symfony.com/doc/current/book/service_container.html

答案 1 :(得分:0)

您可以将其用作服务: http://symfony.com/doc/current/book/service_container.html 当我尝试实现extern api时,我想到适配器模式: http://en.wikipedia.org/wiki/Adapter_pattern