php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.12.2011, 10:24  
Benutzer
 
Registriert seit: 30.07.2011
Beiträge: 45
PHP-Kenntnisse:
Anfänger
clemensplainer befindet sich auf einem aufstrebenden Ast
Standard User Notifications - Realisierung

Hallo Leute,

für einen Service den ich programmiere benötige ich User-Notifications. Ich bin jetzt mittlerweile durch folgende "Qualen" gegangen:

1. Ich habe einfach alle E-Mails die gesendet werden müssen an der Stelle, an der ich sie brauchte, hart-gecoded.
2. Ich hatte eine Funktion mit dem Parameter $reason und habe somit alle Emails in einer config-Datei bearbeiten können.
3. Jetzt bin ich soweit dass ich PHPMailer verwende und für jede E-Mail eine eigene inc.php-Datei angelegt habe welche an der benötigten Stelle eingebunden wird.

Meine Frage: Wie macht man das in der Praxis richtig? Also damit das Ganze skallierbar wird und trotzdem leicht anpassbar?

Ein kleiner Input wäre nicht schlecht, danke!

LG Clemens
clemensplainer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.12.2011, 10:52  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Der PHPMailer ist ja bereits objektorientiert. Du kannst die Klasse ja ableiten und mit deinen Bedürfnissen bestücken. Das ganze kommt dem Facade Pattern recht nah, falls du dich dafür interessiert. Hier mal angeschnitten:

PHP-Code:
class AppMailer extends PHPMailer {
   
   public function 
__construct() {
         
$this->charSet 'utf8';
         
$this->setFrom(...);
   }

}

class 
RegisterConfirmationMailer extends AppMailer {

    protected 
$body '';

    public function 
__construct() {
       
parent::__construct();
       
$this->body file_get_contents('benachrichtigungs_text.txt');
    }

    public function 
sendConfirmation($email$attachment null) {
       
$this->addReceiver($email);
       
$this->setBodyHTML($this->body);

       if(
null !== $attachment) {
          
$this->addAttachment($attachment);
       }
      
$this->send();
    }


Nur ein Beispiel (gut möglich, dass ich die PHPMailer-API nicht richtig im Kopf habe).
__________________
dsentker ist offline   Mit Zitat antworten
Alt 30.12.2011, 11:17  
Benutzer
 
Registriert seit: 30.07.2011
Beiträge: 45
PHP-Kenntnisse:
Anfänger
clemensplainer befindet sich auf einem aufstrebenden Ast
Standard

Danke für den Input,

ja wenn es denn so leicht wäre =)
Ich habe im Benachtichtungstext leider nicht nur statische Inhalte, sondern auch Variablen.

Sonst hätte ich es so realisiert, dass ich die E-Mail Texte in die DB schreibe. Da hätte ich sie ganz einfach auch vom Admin-Backend bearbeiten können.

Allerdings bin ich kein Fan von PHP-Code in der DB.
Wenn ich jetzt mit file_gets_contents arbeite und PHP-Code "lese" diese dann mit eval parsen, oder?

LG
clemensplainer ist offline   Mit Zitat antworten
Alt 30.12.2011, 11:27  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.141
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
Zitat von clemensplainer Beitrag anzeigen
Wenn ich jetzt mit file_gets_contents arbeite und PHP-Code "lese" diese dann mit eval parsen, oder?
ev. Platzhalter im Mailtext verwenden? {someString_A} etc.. und diese vor der Text-Übergabe an die Mailerklasse ersetzen.

PHP-Code:
$search= array("{someString_A}""{someString_B}", ...);
$replace = array("Inhalt A""Inhalt B", ...);
$new str_replace($search$replace$new); 
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 30.12.2011, 12:20  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

file_get_contents war ja nur ein Beispiel. Es gibt unzählige View/Template-Klassen, die clemensplainer's Vorschlag so oder so ähnlich umsetzen.
__________________
dsentker ist offline   Mit Zitat antworten
Alt 30.12.2011, 13:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das Stichwort lautet auch hier*: Template-Engine.

*) http://www.php.de/php-einsteiger/867...bfunktion.html (Frage bezüglich Herangehensweise einer Briefschreibfunktion)
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Algorhytmus] User Klassifizierung HCi PHP-Fortgeschrittene 4 12.05.2011 12:16
User der Webseite wieder erkennen und Status speichern Wolf66 PHP Einsteiger 12 24.03.2011 01:15
Datei für den User umbenennen... Thallius PHP Tipps 2010 5 01.11.2010 14:00
login auf dateiordner/download für mehrere user synthflut PHP Tipps 2010 2 30.09.2010 22:38
Projekt: User über Intranetpage erstellen, auf einen VoIP-Server beta1234 PHP Tipps 2009 2 22.07.2009 13:21
Registrierte User sollen ihre Daten ändern können 54ch4 PHP Tipps 2009 17 14.03.2009 14:29
User mit PHP aus DB löschen MistaJ PHP Tipps 2008 10 01.12.2008 19:38
User einer OU mit LDAP auslesen InTeNsO PHP Tipps 2008 2 29.09.2008 13:40
mysql_connect verbindet nicht wenn user passwort hat PHP Tipps 2005-2 3 28.10.2005 15:53
Session: Untersch. Seiten f. eingeloggte User und norm. User PHP Tipps 2005-2 2 20.07.2005 12:46
[Erledigt] MySQL user rausfinden Datenbanken 4 26.05.2005 12:15
Aktuelle Anzahl eingeloggter User ermitteln? PHP Tipps 2004-2 6 02.12.2004 13:03
User intenfication ohne Cookies und User hat temporale IP fender PHP Tipps 2004-2 1 15.11.2004 17:13
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum