将参数传递给CodeIgniter中的类

时间:2010-09-08 03:49:48

标签: php codeigniter parameters

我还在学习PHP和CodeIgniter,但我正在尝试设置一个电子邮件控制器。唯一的问题是,大多数教程都展示了如何设置email.php控制器,但硬编码了电子邮件地址和消息。

在我正在进行的项目中,我将发送许多内容的电子邮件(注册,密码重置等)。

如何设置电子邮件控制器以接受参数以及如何从其他控制器加载?

2 个答案:

答案 0 :(得分:2)

电子邮件控制器?我想你想要一个可以发送电子邮件的控制器吗?如果是,您可以使用控制器中提供的CI电子邮件库(http://codeigniter.com/user_guide/libraries/email.html)。

答案 1 :(得分: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);
}


}

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

当你进行数据库调用时,作为一个完整的主题建议,无论数据库调用多么简单,都要使用模型。我向你保证,你会来找我拥抱。