1

我正在尝试使用cakephp-sms插件发送短信

文档非常清晰和简短。我在我的app/Plugin目录中使用 Composer 安装了它。我还使用 composer安装了xi-sms 。这是安装在Vendor目录中的。在我的控制器中发送短信。我 在. App::uses('CakeSms', 'Sms.Network/Sms')_ 下面是我的课InfobipSmsTransportSms/Lib/Network/Sms

<?php

   use Xi\Sms\Gateway\InfobipGateway;

   App::uses('AbstractSmsTransport', 'Sms.Network/Sms');
   class InfobipSmsTransport extends AbstractSmsTransport {
   const INFOBIP_USER = 'XXXXX';
   const INFOBIP_PASSWORD = 'XXXXXXX';

   /**

    *
    * @param CakeSms $sms
   * @return bool Success
   */
  public function send(CakeSms $sms) {
    $gw = new InfobipGateway(
        self::INFOBIP_USER,
        self::INFOBIP_PASSWORD
    );

    $service = new Xi\Sms\SmsService($gw);

    $msg = new Xi\Sms\SmsMessage(
        $sms->message(),
        $sms->from(),
        $sms->to()
    );

    $response = $service->send($msg);

    return !empty($response);
   }
 }
?>

当我尝试发送短信时,我收到以下错误 Class "InfobipSmsTransport" not found.。我不知道做错了什么?欢迎任何线索或建议。

4

1 回答 1

0

CakeSms 类没有加载插件。这是失败的代码行。 App::uses($transportClassname, $plugin . 'Network/Sms');.

在我的app/Config/sms.php我只是将其更改'transport' =>'Infobip'
'transport' =>'Sms.Infobip'. 该插件现在已正确加载,并且已找到该类。

于 2015-09-09T13:10:45.143 回答