基本上我试图在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。我不知道如何实现这种类型。有人可以告诉我我认为我需要做什么。
答案 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