2010-09-08 5 views
0

J'apprends toujours mon chemin autour de PHP et de CodeIgniter, mais j'essaye de mettre en place un contrôleur de courrier électronique. Le seul problème est que la plupart des tutoriels montrent comment configurer le contrôleur email.php, mais coder en dur l'adresse e-mail et le message.Transmettre un paramètre à une classe dans CodeIgniter

Dans le projet sur lequel je travaille, je vais envoyer des emails pour beaucoup de choses (enregistrement, réinitialisation de mot de passe, etc ...).

Comment est-ce que je pourrais configurer le contrôleur de courrier électronique pour accepter des paramètres et comment le chargerais-je d'un autre contrôleur?

Répondre

2

Vous ne voulez pas en faire un contrôleur. Vous devriez le créer comme une bibliothèque. Ensuite, vous chargeriez la bibliothèque en cas de besoin. Vous pouvez transmettre des valeurs à la bibliothèque e-mail de l'URL du contrôleur d'appel

lire ces pages

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

La structure de CI est un peu spécifique et plus vous vous y tenez, plus vous l'aimerez.

bibliothèques sont vos fonctions

contrôleurs construisent des vues en utilisant les données des modèles d'URL et vos bibliothèques

vues afficher vos données construites

/////////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); 
} 


} 

Aussi, si vous avez besoin d'une fonction qui est spécifique à votre contrôleur et de ne pas utiliser n'importe où ailleurs à la place d'une bibliothèque vous créeriez une fonction avec un trait de soulignement

et comme un conseil complètement hors sujet lorsque vous arrivez à faire des appels DB, utilisez des modèles, peu importe la simplicité de l'appel DB. Je t'assure que tu viendras me trouver dans mes bras.

2

Un contrôleur de courrier électronique? Je suppose que vous voulez un contrôleur qui peut envoyer des emails non? Si oui, vous pouvez utiliser la bibliothèque de courrier électronique (http://codeigniter.com/user_guide/libraries/email.html) fournie par CI dans votre contrôleur.

Questions connexes