如果我可以创建一个函数,那么如何从同一控制器中的另一个函数调用它, 我创建了一个函数,它从类似于,cc,bcc,主题等的表单中获取数据。它们是表单的一部分,另一种形式从我获取附件的函数中获取附件。我想调用一个获取其他详细信息的功能,以便我可以发送电子邮件。
function emaildata()
{
//这里它提取主题消息等详细信息
function Sendmail($attachments)
{
//send your mail
}
}
function getattachments() {
//在此处获取附件
的sendmail($附件);
}
答案 0 :(得分:0)
您可以从同一个控制器调用功能!作为同一类。
但是尝试使其成为非公共功能,因此无法从网站访问它(例如:在方法名称的开头使用_ {underscore})
参考此处:http://ellislab.com/codeigniter/user-guide/general/controllers.html#private
答案 1 :(得分:0)
您可以像这样定义私有控制器函数(私有函数名称必须以下划线开头):
private function _get_details()
{
// some code
}
无法通过网址访问它,但您可以像这样调用它:
function send_mail()
{
//do something
$this->_get_details();
// and we called the other method here!
}
您可以像这样重构代码:
public function emaildata()
{
//here it fetches details like subject message
$emaildata->subject = "..";
//get attachments
$attachments = $this->_getattachments();
$this->_sendmail($emaildata,$attachments);
}
private function _getattachments() {
//get attachments here
}
private function _sendmail($emaildata,$attachments)
{
//send your mail
}