我在一个 Controller 中使用 两个 模型。其中一个是数据库模型 (model) 另一个模型用于发送短信 (smsModel)

我在 smsModel 中遇到问题。

我的结果出现了这个错误:

Class 'fcadmin\models\SoapClient' not found

我该如何解决?

我的 Controller :
public function actionCreate($id) {

        $model = new Requestresult();
        $smsModel = new SmsSender();
        $request_model = Request::findOne(['id' => $id]);

        $model->CodeKargah = $request_model->CodeKargah;
        $model->month = $request_model->month;
        $model->trackingCode = $request_model->trackingCode;
        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            $smsModel->sendSms('09193452126', 'sdf');
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                        'model' => $model,
            ]);
        }
    }

短信型号:
public function sendSms($to, $text) {
    $options = [
        'login' => 'myusername',
        'password' => 'mypassword'
    ];
    $client = new SoapClient('http://sms.hostiran.net/webservice/?WSDL', $options);
    $messageId = $client->send($to, $text);
    sleep(3);
    return ($client->deliveryStatus($messageId));
}

最佳答案

您需要阅读有关命名空间的信息。如果您在命名空间中并且没有告诉 PHP 您要使用全局命名空间,它会在当前命名空间中查找名称为 x 的类。

在您的情况下,您需要使用 new \SoapClient

关于php - 在 yii2 中发送短信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39272869/

10-12 06:24