Mam taki problem ze buduje klienta poczty elektronicznej, no i teraz za kazdym razem gdy wysylam jakies żądanie przechodzi przez bootstrap'a wszystko leci przez kontrolery i tam zostaje wywolany model oraz widoki. Sęk w tym ze za kazdym żądaniem musze od poczatku uzywac funkcji imao_open, wyglada to mniej wiecje tak :
Oto kawalek kontrolera :
function mailbox() { //echo 'MailboxController action mailbox!'; $this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap'); $this->model->reconnect($_POST['mailbox']); $view = new LoginView; $boxes = $this->model->getMailboxes(); $msgsParts = $this->model->getMsgsParts(3); $view->setVars('boxes', $boxes); $view->setVars('parts',$msgsParts); $view->display($_POST['action']); } function message($params) { $view = new LoginView; $this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap'); $view->setVars('message', $this->model->getMessage($params['id'])); $view->display('message');
Linijka
$this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap');
Odpowiada za polaczenie sie do skrzynki imap (w modelu jest to imap_open()) a to trwa przynajmniej 5 sekund, i za kazdym razem gdy np chce wyswietlic inna skrzynke musze czekac az zainicjuje sie kolejne polaczenie, to samo gdy chce zobaczyc dana wiadomosc, w w/w przykladnie funkcja message($params) tez musi połączyć sie od nowa poprzez imap_open i przez to aplikacja jest strasznie wolna, jak moznaby poprawic szybkosc aplikacji ?
Ktos kto pisal kiedykolwiek klienta pocztowego moze cos podpowiedziec ?
Edit----------------------------------------------
Moje pytanie jest tak proste czy tak trudne ze nikt nie chce odpowiedziec ?
