Symfony3 twilio-php 库中的 TaskRouter

问题描述 投票:0回答:3

我正在使用 Symfony3 构建基于 Twilio TaskRouter 的应用程序,该应用程序使用 twilio-php 库。

Symfony 中的所有其他组件都使用 PS-0 或 PS-4 命名约定,而标准 twilio-php 库不使用相同的命名约定,因此我无法直接使用某些类(在我的例子中是任务路由器)。

相关类是

Services_Twilio_TaskRouter_Worker_Capability
,位于
twilio-php/sdk/Services/CapabilityTaskRouter.php

Symfony 期望该类位于目录

vendor/twilio/sdk/Services/Twilio/TaskRouter/Worker/Capability
目录中,但未能找到该目录。

有没有办法包含

vendor/twilio/sdk/Services/CapabilityTaskRouter.php
在 symfony 类中并扩展
Services_Twilio_TaskRouter_Worker_Capability
类?

php symfony twilio twilio-php
3个回答
1
投票

您可以通过运行以下命令在供应商中安装库:

composer require twilio/sdk

composer 会将 lib 添加到供应商文件夹中 在你的控制器中你可以这样称呼它:

$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/user/account
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/user/account

$client = new Services_Twilio($sid, $token);
$message = $client->account->messages->sendMessage(
  '9991231234', // From a valid Twilio number
  '8881231234', // Text this number
  "Hello monkey!"
);

print_r($message->sid);

0
投票

我认为这是可能的。为了使包含逻辑与项目代码分离,您应该创建一个遵循 PSR-4 命名约定的包装类,该类仅扩展 Twilio 类。

<?php

    namespace MyProject\Service;

    require_once('path/to/twilio-php/sdk/Services/CapabilityTaskRouter.php');

    class CapabilityTaskRouter extends \Services_Twilio_TaskRouter_Worker_Capability
    {
    }

就是这样,我们多次将不遵循 PSR 自动加载概念的库集成到我们的项目中。


0
投票

这里是 Twilio 员工。

我沿着实现帮助器扩展的路线到https://github.com/fridolin-koch/VreshTwilioBundle,在这个过程中发现这实际上是一个 twilio-php 帮助器库问题,因为命名约定和自动加载这些特定类别的。

我打算完成 VreshTwilioBundle 的辅助扩展,但是,这是我提交的 PR,应该可以让您继续前进:

https://github.com/twilio/twilio-php/pull/288

© www.soinside.com 2019 - 2024. All rights reserved.