Parameters 在yii中,如何将参数发送到方法

Parameters 在yii中,如何将参数发送到方法,parameters,yii,action,Parameters,Yii,Action,在yii中,我使用mailer扩展创建actionEmail方法。它将接受四个参数,如FromEmail、ToEmail、Subject和Message。为了检查输出,我发送参数的硬编码值 public function actionCreate($FromEmail='abc@gmail.com',$ToEmail='xyz@gmail.com',$Subject='Project',$Message='Hiee') { //using mailer extension $

在yii中,我使用mailer扩展创建actionEmail方法。它将接受四个参数,如FromEmail、ToEmail、Subject和Message。为了检查输出,我发送参数的硬编码值

public function actionCreate($FromEmail='abc@gmail.com',$ToEmail='xyz@gmail.com',$Subject='Project',$Message='Hiee')
{ 

    //using mailer extension
    $mailer = Yii::createComponent('application.extensions.mailer.EMailer');

    $mailer->IsSMTP();
    $mailer->IsHTML(true);
    $mailer->SMTPAuth = true;
    $mailer->SMTPSecure = "ssl";
    $mailer->Host = "smtp.gmail.com";
    $mailer->Port = 465;
    $mailer->CharSet = 'UTF-8';
    //$mailer->Username = "abc@shailani.com";
    $mailer->Password = "abc";
    $mailer->From = $FromEmail;
    $mailer->FromName = "Balaee.com";
    //$mailer->AddAddress('shilpakirad@gmail.com');
    $mailer->AddAddress($ToEmail);
    $mailer->Subject = $Subject;
    $mailer->IsHTML(true);
    //  $html = $this->renderPartial('myview',array('content'=>'Hello World'),true);
    $mailer->Body=$Message;

    if($mailer->Send()) {

        echo "Please check mail";
    }
    else {
        echo "Fail to send your message!";
    }
}

我在用户控制器中创建了这个方法。但这不是执行。请帮助我

如果为操作函数指定参数,这些参数定义了必须通过GET或POST指定的参数。通常,除非指定了所有参数,否则无法将任何内容路由到此函数。在您的情况下,这是可以的,因为您正在为它们指定默认值。您应该能够使用正常的url格式(例如index.php/?r=controller/email)调用该函数。可以使用相同的url指定自定义值: index.php/?r=controller/email&Subject=testing+email

也许从检查错误日志开始,看看是否有输出。
如果没有,我会注释掉整个函数内容,然后简单地做一个echo之类的事情。这样,您至少可以确保调用了该函数。之后,您可以重新添加代码,也许可以将代码分成几部分,以查看是否一切正常。

您有任何PHP错误/警告吗?您在浏览器中看到了什么?