Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][opp]Dziedzczenie czy osobna metoda
Piniek
post 15.02.2008, 20:44:31
Post #1





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Piniek 15.02.2008, 20:48:14


--------------------
Go to the top of the page
+Quote Post
cinekz
post 15.02.2008, 21:36:51
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 6
Dołączył: 15.06.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Piniek
post 15.02.2008, 21:40:43
Post #3





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 21.09.2024 - 03:16