Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][opp]Dziedzczenie czy osobna metoda
Forum PHP.pl > Forum > PHP > Object-oriented programming
Piniek
Zastanawiam sie nad napisaniem klasy wysylajacej mail-e takie z prawdziwego zdarzenia z funkcjami takimi jak wysylanie zalacznikow format html itp...

No i tak sobie mysle co zastosowac przy wysylaniu maila html czy stworzyc nowa klasa (np: htmlmail) ktora bedzie dziedziczyc po klasie podstawowej metody i bedzie odawac wlasne czy tez popostu dopisac nowa metode do do klasy mail questionmark.gif co bedzie bardziej oop ;P
Troche namieszalem ale dopiero raczkuje w oop moze nawet pelzam.
Pozdrawiam Maciej (Piniek) Zabost

P.S:Jak skoncze pisac to dam wam klase do oceny.
cinekz
Ja bym zrobił jedną klasę wszystko sklecająca, a dla formatów maili klasę abstrakcyjną i te klasę by sobie dziedziczył HtmlFormat, TextFormat, itd.

Wyglądało to by mniej więcej tak:
  1. <?php
  2. class Mail
  3. {
  4. public function setBody()
  5. {
  6. }
  7. // itd.
  8. }
  9. ?>


Klasa abstrakcyjna dla formaterów i przykładowe formatery:
  1. <?php
  2. abstract class Formatter
  3. {
  4. abstract public function compose();
  5. // tutaj jeszcze mozesz wsadzic co tam ci sie przyda
  6. }
  7.  
  8. class HtmlFormatter extends Formatter
  9. {
  10. // tutaj metody przetwarzajace charakterystyczne dla maila w Htmlu
  11. }
  12. ?>


No i przykład wykorzystania:
  1. <?php
  2. $mail = new Mail();
  3. $mail->setFrom( 'example@domain.com' );
  4. $mail->setTo( 'example-to@domain.com' );
  5. $mail->setFormatter( new HtmlFormatter() );
  6. $mail->setBody( 'tutaj cialo maila' );
  7. $mail->send(); //wysylanie
  8. ?>


Myślę, że pomogłem. Podany kod traktuj raczej jako pseudo-kod. Jeżeli chcesz zaczerpnąć inspiracji to popatrz sobie w komponent Mail z eZ Components.

Pozdrawiam, Marcin.
Piniek
Wielkie dzieki... wpadlem na podobny pomysl tylko bez klas abstrakcyjnych winksmiley.jpg

Myslalem ze sie zalamie bo zalozylem temat i obsewuje ruch w topicu i widze ze wszyscy wchodza i po jakis 10-20sec wychodza nie pozostawiajac odpowiedz winksmiley.jpg Juz straciel wiare biggrin.gif


Jeszcze raz wielkie dzieki za przyklad.
Oczywiscie + dla ciebie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.