SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 17.04.2008, 11:41:34
ascer ascer ist offline
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)
Mit Zitat antworten
  #2  
Alt 17.04.2008, 19:57:13
Benutzerbild von Socrates
Socrates Socrates ist offline
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.
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (17.04.2008 um 19:59:16 Uhr)
Mit Zitat antworten
  #3  
Alt 17.04.2008, 20:06:51
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
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 ;)
Mit Zitat antworten
  #4  
Alt 17.04.2008, 20:54:55
ascer ascer ist offline
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^^
Mit Zitat antworten
  #5  
Alt 17.04.2008, 21:00:11
Benutzerbild von Socrates
Socrates Socrates ist offline
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
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #6  
Alt 17.04.2008, 21:31:56
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
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 ;)
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt