<?php
$mail=new mail('adres@wp.pl'); $mail->ustawNadawce('ktos@adres.pl');
$mail->ustawTemat('Temat testowy');
$mail->ustawTresc('przykladowa tresc');
$mail->wyslijMaila();
?>
a może lepiej nieco to uprościć, po co się męczyć i za każdym razem pisać $mail->ustawCośtam?
$mail=new mail('nadawca@wp.pl', 'biuro@cos.pl', 'Temat testowy', 'przykladowa tresc');
$mail->wyslijMaila();
tak łatwiej, lepiej i bardziej "obiektowo". W końcu do tego służą konstruktory. A jak będziesz miał kilku odbiorców to możesz przecież ich podać też w konstruktorze jako tablicę:
$odbiorcy = array('prezydent@polska.gov', 'premier@sejm.pl', 'ciocia_jadzia@gmail.com');
$mail=new mail('nadawca@wp.pl', $odbiorcy, 'Temat testowy', 'przykladowa tresc');
$mail->wyslijMaila();
a w funkcji wyslijMaila sprawdzasz czy $odbiorca jest tablica is_array($this->odbiorca) , i jak tak to przelatujesz foreach, a jak nie to wysyłaś tylko do jednego odbiorcy. Proste i elastyczne. Po wywaleniu funkcji dostępowych twoja klasa wydaje się dużo mniejsza i bardziej przejrzysta. A jeżeli jednak nie odpowiada Ci podawanie danych w konstruktorze (bo na przykład masz zamiar modyfikować twojego maila zanim go wyślesz) to poczytaj o metodach magicznych __set i __get
http://www.php.rk.edu.pl/w/p/metody-magiczne/<?php
public $temat;
...
public function ustawTemat($temat)
{
$this-> temat = $temat;
}
?>
No ale albo robisz zmienną $temat (i inne) publiczne, albo robisz prywatne i dopiero wtedy potrzebujesz metod dostępowych typu ustawTemat. Przecież jak masz public to możesz się normalnie, bez żadnych funkcji odwoływać do tych zmiennych poprzez $mail->temat = "dzieńdobry ciociu" w dowolnym miejscu kodu, o ile stworzyłeś wcześniej ten obiekt. Z tym, że takie "upublicznianie danych" nie jest wcale zalecane w programowaniu obiektowym i dlatego w trosce o prywatność obiektów robi się zmienne prywatne (private zamiast public przed nazwą ) conajwyżej udostępniając publiczną "metodę dostępową". Co najwyżej, bo czasami jest to zbyteczne. Na przykład jeśli treść danego maila się nie będzie zmieniała, tylko raz przypiszesz i już to równie dobrze można to umieścić w konstruktorze i już nie męczyć się i obiektu
Cytat
Proszę o opinie, w szczególności czy mój tok rozumowania odnośnie tworzenia klas i używania w nich konstruktora jest dobry. Wiem że dla Was, napisanie takiej klasy to pikuś, ale dopiero raczkuje w OOP i chciałbym poznać waszą opinię.
Hmm... ja bym powiedział, że za dużo się napatrzyłeś w czyjś kod i przykłady, a brakuje Ci teoretycznego zrozumienia

wiesz "jak", ale nie wiesz "po co"