Php 加载自定义Yii组件
我正在尝试使用我创建的自定义类来发送邮件,这样我就可以保持控制器文件的精简。我创建了自定义类并将其放入components文件夹中。我接着补充说:Php 加载自定义Yii组件,php,yii,swiftmailer,Php,Yii,Swiftmailer,我正在尝试使用我创建的自定义类来发送邮件,这样我就可以保持控制器文件的精简。我创建了自定义类并将其放入components文件夹中。我接着补充说: 'sendMail' => array( 'class'=>'application.components.SendMail.', ), 在我的主配置文件的主要组件下面 这应该允许我直接访问类正确吗?我尝试使用: Yii::app()->SendMail->MailerConfirmation(); 以及: 我最
'sendMail' => array(
'class'=>'application.components.SendMail.',
),
在我的主配置文件的主要组件下面
这应该允许我直接访问类正确吗?我尝试使用:
Yii::app()->SendMail->MailerConfirmation();
以及:
我最后只会犯错误
谁能告诉我如何包含自定义组件?也许我做错了?首先应该是:
'sendMail' => array(
'class'=>'application.components.SendMail',
),
请注意,在“SendMail”而不是“SendMail”的末尾没有点。此外,此配置要求您在protected/components目录中拥有php文件SendMail.php,该目录是一个名为“SendMail”的类,并且该组件扩展了CapApplicationComponent。组件id的首字母较低,例如Yii::app()->sendMail
,这将返回“sendMail”类的实例。我不知道MailerConfirmation是什么,但是如果这是SendMail对象的一种方法,那么您应该像Yii::app()->SendMail->MailerConfirmation()那样访问它
如果这没有帮助,请发布一些代码并发布您收到的错误。请注意,如果您不打算在配置文件中设置任何组件属性或使用其他CapApplicationComponent功能,并且您的配置文件包含默认值:
'import'=>array(
'application.models.*',
'application.components.*',
),
您可以将SendMail.php类放在components目录中,通过以下方式调用它,它将自动加载:
$mailer = new SendMail();
然后通过以下方式调用您的方法:
$mailer->MailerConfirmation();
如果您确实想使用,您可能需要查看或查找几个示例,以及Yii教程
$mailer->MailerConfirmation();