php - 在 yii2 中发送短信

标签 php yii2 yii2-advanced-app

我在一个 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/

相关文章:

redirect - 如何使gridview中的行可点击?

php - Yii2 renderAjax 嵌套Listview

php - yii2 - RBAC - 后端和前端之间共享吗?

php - 使用 AM/PM 将字符串转换为 mysql 日期时间

php - 如何最好地处理构造函数中的异常?

yii2 - 如何更改 ActiveField 的标签文本?

php - 如何在 Yii2 中将接口(interface)注入(inject) Controller 的构造函数

php - 语法错误或访问冲突 : 1140 Mixing of GROUP columns laravel

php - 通知: Undefined index: ($_FILES)

mysql - Yii2 find-all + hasone