2010-09-08 135 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); 
} 


} 

此外,如果你需要一個功能是特定於你的控制器,並沒有任何其他地方使用,而不是一個庫,你會創建一個帶下劃線的函數

,並且當您開始進行數據庫調用時,作爲完整的主題建議,無論數據庫調用有多簡單,都可以使用模型。我向你保證,你會來找我擁抱。