* @since 2.0 */ abstract class BaseMessage extends Object implements MessageInterface { /** * @return MailerInterface the mailer component */ public function getMailer() { return Yii::$app->getComponent('mail'); } /** * @inheritdoc */ public function send() { return $this->getMailer()->send($this); } /** * PHP magic method that returns the string representation of this object. * @return string the string representation of this object. */ public function __toString() { // __toString cannot throw exception // use trigger_error to bypass this limitation try { return $this->toString(); } catch (\Exception $e) { trigger_error($e->getMessage()); return ''; } } }