2010-09-08 118 views
0

我仍在学习绕过PHP和CodeIgniter的方法,但我试图设置一个电子邮件控制器。唯一的问题是,大多数教程显示如何设置email.php控制器,但硬编码电子邮件地址和消息。将参数传递给CodeIgniter中的类

在我正在开发的项目中,我将发送许多邮件(注册,密码重置等)。

如何设置电子邮件控制器来接受参数以及如何从另一个控制器加载它?

回答

2

你不想让它成为一个控制器。你应该创建它作为一个库。然后在需要时加载库。你可以从你的呼叫控制器的URL值传递给电子邮件库

阅读这些网页

http://codeigniter.com/user_guide/general/creating_libraries.html

http://codeigniter.com/user_guide/general/controllers.html#passinguri

http://codeigniter.com/user_guide/general/controllers.html#private

CI的结构有点特殊和你越坚持它,你越会喜欢它。

库是你的职责

控制器构造采用从URL模型数据和存储库的观点

视图显示您构建数据

/////////emaillibrary.php 

class email { 

function email{ 
} 

function do_some_stuff($spoon){ 
/////// dance 
} 
} 

//// email controller 

class emailcontroller extends Controller{ 

function sendMail($spoon){ /* <------ this is going to pass any info in the url down into your controller so if some one does www.myite.com/index.php/emailcontroller/sendmail/car $spoon will equal car 
$this->load->library('email'); */ 

$this->email->do_some_stuff($spoon); 
} 


} 

此外,如果你需要一个功能是特定于你的控制器,并没有任何其他地方使用,而不是一个库,你会创建一个带下划线的函数

,并且当您开始进行数据库调用时,作为完整的主题建议,无论数据库调用有多简单,都可以使用模型。我向你保证,你会来找我拥抱。