Pewnie ten temat juz byl ale chcialbym aby ktos mi pokazal jak to mozna zrobic na przykladzie ktory podam ponizej co pomoze mi w latwym zrozumieniu. Najlepiej jakby ktos pomogl mi to zademonstrowac na Smarty.
Oto kod :
<? class Mailbox { protected $_connection = null; public function connect($server, $user, $pass, $port = 993, $protocol = 'imap') { if(!($this->_connection = imap_open('{imap.'.$server.':'.$port.'/'.$protocol.'/ssl}INBOX', $user, $pass))) throw new Exception ('Connection failure'); } public function inbox() { return $this->_sort = imap_sort($this->_connection, SORTARRIVAL, false); } public function show_headers() { $this->_headers = imap_headers($this->_connection); if ($this->_headers == false) { } else { foreach ($this->_headers as $val) { } } } } $mailbox = new Mailbox; $mailbox->connect('gmail.com','jakismail@gmail.com','jakieshaslo','993','imap'); $tab = $mailbox->inbox(); foreach($tab as $wart) $mailbox->show_headers(); ?>
Chodzi o to zeby klasa nie zawierala w sobie logiki prezentacji.....w jaki sposob mozna to oddzielic ?