CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
17.04.2008, 11:41:34
|
Anfänger
|
|
Registriert seit: Oct 2006
Beiträge: 137
|
|
Ascer's OOP #1
Hi Leute,
so, hab mal eine kleine minimalistische Templateklasse erstellt, wäre das so im Sinne des Erfinders oder sind da noch Denkfehler drin?
PHP-Code:
class template {
public $template; // Variable mit dem Originalinhalt der Templatedatei
public $rdy_template; // Variable mit dem geänderten Template
function loadTemplate( $url ){ // Funktion erstellen und Variable $url verwenden
if( !$url OR empty($url) ){
print "Es muss eine URL angegeben werden!";
return;
}
$file = file_get_contents($url); // das Template laden
if( !$file OR empty($file) ){ // falls $file leer ist nicht laden
print "Templatedatei wurde nicht gefunden!";
return;
} else {
$this -> template = $file;
}
}
function editTemplate( $platzhalter, $wert ){ // Wert von $rdy_template gleichsetzen mit Wert von $template und Platzhalter durch echte Werte ersetzen
$this -> rdy_template = str_replace( $platzhalter, $wert, $this -> rdy_template );
}
function resetTemplate(){ // $rdy_template auf den Wert von $template (Originaldatei) zurücksetzen
$this -> rdy_template = $this -> template;
}
function parseTemplate(){ // Template ausgeben
print $this -> rdy_template;
}
}
gruß,
Ascer
EDIT: der Kommentar von editTemplate() ist eigentlich einzeilig, nicht das ihr denkt das ich noch mehr "wie kraut und rüben" programmier, als ich das eh schon tu *g* da war wohl nur die Zeile hier im Codefenster nicht breit genug, bei mir im Editor ist der einzeilig...selbiges gilt für den Kommentar bei resetTemplate()...
Geändert von ascer (17.04.2008 um 16:23:45 Uhr)
|
17.04.2008, 19:57:13
|
|
Member
|
|
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
|
|
AW: Ascer's OOP #1
Hallo!
Mir sind gleich einige Sachen aufgefallen. Und zwar wieso zwei Variabeln? Eine reicht doch. Wieso sind diese Variabeln public? Die können privat sein, da du sie ja so oder so mit einer Methode ausgibst. Fehlerbehandlung macht man möglichst nicht mit print oder echo sondern mit Exceptions. Ließ dir dazu mal den dazu gehörigen Part im Manual durch. Des weiteren kannst du mal in diesem Beitrag schauen. Da gab es eine schöne Diskussion über TemplateEngines, eine Template-Klasse von mir und verschiedene Methoden soetwas zu verwirklichen. Ich hoffe, dass ich dir helfen konnte.
MfG, Andy
//EDIT: Du solltest auch die Methoden in ihrer Nutzbarkeit kennzeichnen. Also auch mit privat oder public.
Geändert von Socrates (17.04.2008 um 19:59:16 Uhr)
|
17.04.2008, 20:06:51
|
|
Junior Member
|
|
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
|
|
AW: Ascer's OOP #1
PHP-Code:
function editTemplate( $platzhalter, $wert ){ // Wert von $rdy_template gleichsetzen mit Wert von $template und Platzhalter durch echte Werte ersetzen $this -> rdy_template = str_replace( $platzhalter, $wert, $this -> rdy_template ); }
gefällt mir nicht so. Es wäre besser, wenn man ein Array übergeben würde ;)
Weil sonst würde man ja
Code:
$lorem -> editTemplate ('Ipsum', 'dolor');
$lorem -> editTemplate ('sit', 'amet');
schreiben. Das wird mit der Länge immer unübersichtlicher ;)
|
17.04.2008, 20:54:55
|
Anfänger
|
|
Registriert seit: Oct 2006
Beiträge: 137
|
|
AW: Ascer's OOP #1
ok, dankeschön!! sehr hilfreich auf jeden Fall :)
werd mich mal dranmachen und einiges umschreiben^^
|
17.04.2008, 21:00:11
|
|
Member
|
|
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
|
|
AW: Ascer's OOP #1
Also ich denke, dass das mit einem Array unübersichtlicher wäre. Ich finde den Teil eigentlich ganz ok. Sieht bei meiner Klasse ähnlich aus, jedoch gebe ich noch das Template in seiner momentanen Form via return zurück.
MfG, Andy
|
17.04.2008, 21:31:56
|
|
Junior Member
|
|
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
|
|
AW: Ascer's OOP #1
Wenn man das Array so gestalten würde:
PHP-Code:
$array = ( 'Var1' => 'Val1', 'Var2' => 'Val2', 'Var3' => 'Val3', 'Var4' => 'Val4', );
finde ich nicht, dass es unübersichtlicher wird ;)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:40:31 Uhr.
|