Передать параметр классу в CodeIgniter - PullRequest
0 голосов
/ 08 сентября 2010

Я все еще изучаю PHP и CodeIgniter, но пытаюсь настроить контроллер электронной почты. Единственная проблема заключается в том, что в большинстве учебных пособий показано, как настроить контроллер email.php, но жестко заданы адрес электронной почты и сообщение.

В проекте, над которым я работаю, я буду отправлять электронные письма по многим вопросам (регистрация, сброс пароля и т. Д.).

Как настроить почтовый контроллер на прием параметров и как загрузить его с другого контроллера?

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Вы не хотите делать это контроллером.Вы должны создать это как библиотеку.Затем вы должны загрузить библиотеку, когда это необходимо.Вы можете передавать значения в библиотеку электронной почты с 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);
}


}

Также, если вам нужна функция, специфичная для вашего контроллера и не используемая где-либо еще вместо этогоиз библиотеки вы создадите функцию с подчеркиванием

и в качестве совершенно не по теме совета, когда вы будете выполнять вызовы БД, используйте модели независимо от того, насколько прост вызов БД.Уверяю вас, вы найдете меня обнять.

2 голосов
/ 08 сентября 2010

Контроллер электронной почты? Я полагаю, вы хотите контроллер, который может отправлять электронные письма, верно? Если да, вы можете использовать библиотеку электронной почты (http://codeigniter.com/user_guide/libraries/email.html) CI предоставляет в вашем контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...