Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmiana strukturalny->obiektowy
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam

Jestem poczatkujacy w php a takze w programowaniu obiketowym.
Mam strukturalny skrypt ktory wyglada tak :

  1. <?php
  2.  
  3.        $mailbox = "{imap.gmail.com:993/imap/ssl}INBOX";
  4.        $user = "jakisuser@gmail.com";
  5.        $pass = "jakieshaslo";
  6.  
  7.        $mbox = imap_open ($mailbox, $user, $pass)
  8.        or die("can't connect: " . imap_last_error());
  9.  
  10.  
  11.        echo "<h1>Mailboxes</h1>\n";
  12.        $folders = imap_listmailbox($mbox, "{imap.gmail.com:993}", "*");
  13.  
  14.        if ($folders == false) {
  15.            echo "Call failed<br />\n";
  16.        } else {
  17.            foreach ($folders as $val) {
  18.                echo $val . "<br />\n";
  19.            }
  20.        }
  21.  
  22.        echo "<h1>Headers in INBOX</h1>\n";
  23.        $headers = imap_headers($mbox);
  24.  
  25.        if ($headers == false) {
  26.        echo "Call failed<br />\n";
  27.        } else {
  28.            foreach ($headers as $val) {
  29.                echo $val . "<br />\n";
  30.            }
  31.        }
  32.  
  33.        $num = array(1,2,3);
  34.        $numC = count($num);
  35.  
  36.        echo '<h1>Body of specified message</h1>';
  37.        for ($i = 0; $i < $numC; ++$i)
  38.        {
  39.        $body = imap_body($mbox, $num[$i]);
  40.  
  41.        if ($body == false) {
  42.            echo 'Call failed (' . $num[$i] . ')<br />';
  43.        }
  44.        else
  45.            echo $body;
  46.        }
  47.  
  48.        imap_close($mbox)
  49.  
  50.  
  51.        ?>


Ale chce go przerobic na kod obiektowy
Powiedzmy ze na poczatek chcialbym tylko polaczyc sie do serwera i wyswietlic headery
Moje proby wygladaja tak :
  1. <?
  2.  
  3. class Mailbox
  4.    {
  5.        protected $_connection = null;
  6.        
  7.        public function connect($server, $user, $pass, $port = 993, $protocol = 'imap')
  8.            {
  9.                if(!($this->_connection = imap_open('{'.$server.':'.$port.'/'.$protocol.'/ssl}INBOX')))
  10.                    throw new Exception ('Connection failure');
  11.            }
  12.        
  13.        public function show_headers()
  14.            {
  15.                echo "<h1>Headers in INBOX</h1>\n";
  16.                $this->_headers = imap_headers($_connection);
  17.                
  18.                if ($this->_headers == false)
  19.                    {
  20.                    echo "Call failed<br />\n";
  21.                    }
  22.                else
  23.                    {
  24.                    foreach ($_headers as $val)
  25.                        {
  26.                        echo $val . "<br />\n";
  27.                        }
  28.                    }
  29.            }
  30.    }
  31.  
  32.    
  33. $mailbox = new Mailbox;
  34. $mailbox->connect(gmail.com,jakisuser@gmail.com,jakieshaslo,993,imap);
  35. $mailbox->show_headers;    
  36. ?>


Wywala mi błąd :
Cytat
syntax error, unexpected '@' in C:\Program Files\WebServ\httpd\OOP\OOP\Mailbox.php on line 34

czyli bład w tej linijce :
$mailbox->connect(gmail.com,jakisuser@gmail.com,jakieshaslo,993,imap);


Jak mam sobie z tym poradzic ?
No i czy ogolnie struktura mojego programu obiektowego jest poprawnie napisana ? Co nalezaloby poprawic ?
Kolejna rzecza jest ze oczywiscie bede chcial do tego zrobic stronke aby mozna bylo podawac dane uzywtkowinka i halo zanim informacje zostana przeslane do skryptu php.....prosze o podpowiedzi.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 12:49