将Twilio与Symfony2集成

时间:2014-06-19 10:37:44

标签: php symfony twilio

好的,这真的是我的头脑!我正在尝试将Twilio与Symfony2站点集成,我发现了一个明显适合这里框架的包:https://github.com/fridolin-koch/VreshTwilioBundle但是,主要的Twilio框架需要单独下载,结构与Symfony2不一致,从某种意义上说,类名是不同的,并且没有包含名称空间。我通过作曲家安装了这个包似乎可以工作,但我经常遇到这样的错误:

  

自动加载器预期类" Vresh \ TwilioBundle \ Services_Twilio"至   在文件中定义   " /Applications/MAMP/htdocs/my_site_name/src/Vresh/TwilioBundle/Services/Twilio.php" ;.   找到了该文件,但该类不在其中,类名或   命名空间可能有拼写错误。

即使声明了正确的命名空间,我也无法让它工作。我觉得我会绕圈子编辑课程并更改我不知道的代码;如果有其他人设法成功将Twilio与Symfony2集成,我将不胜感激任何提示或帮助!甚至Twilio服务台也对Symfony一无所知!

提前谢谢你 迈克尔

1 个答案:

答案 0 :(得分:12)

我们成功使用Twilio。但我们没有必须单独下载它。 VreshTwilioBundle是一个包装器,可在Symfony内使twilio/sdk可用。我们所做的只是:

  • 将此添加到composer.json

    "require": {
        "vresh/twilio-bundle": "dev-master",
    }
    
  • AppKernel.php

    中启用它
    $bundles = array(
        // ... other bundles
        new Vresh\TwilioBundle\VreshTwilioBundle(),
    );
    
  • 将配置添加到config.yml

    vresh_twilio:
        #(Required) Your Account SID from www.twilio.com/user/account
        sid: 'XXXXXXXX'
        #(Required) Your Auth Token from www.twilio.com/user/account
        authToken: 'YYYYYYYY'
        #(Optional, default: '2010-04-01') Twilio API version
        version: '2008-08-01'
        #(Optional, default: 1) Number of times to retry failed requests
        retryAttempts: 3
    

基本上,我们只是按照安装VreshTwilioBundle的说明进行操作。此捆绑包添加twilio/sdk包作为其要求,因此在您运行composer update时会自动下载twilio/sdk

这就是我们所要做的一切。然后,twilio/sdk可通过容器作为服务提供:

    $twilio = $this->get('twilio.api');