![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() |
![]() hallo zusammen
ich hab da mal ein frage an die php programmierer bzw beutzer und zwar wie ihr euren quelltext gesteltet. einfaches beispiel: Methode1: PHP-Code:
Methode2 PHP-Code:
ich beforzuge methode 1 da ich dort viel mehr überblick über design und ähnliches habe .. jedoch lass ich mich gerne belehren.. Welche Methode findet ihr persönlich besser und warum findet ihr das? mfg alex |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() |
![]() Ich würde diese Version vorziehen
Code:
<hrml><head></head><body> ...... <td>%text%</td> ....... </body> class Layout{ var $strTemplate; function Load($file_path){ // Lädt Template-Datei und speichert sie ab $fp = fopen($file_path,"r"); // Datei zum Lesen öffnen $this->strTemplate = fread($fp,filesize($file_path)); // und einlesen fclose($fp); // Danach den File-Stream wieder schließen } function Replace($needle,$replacement){ // ersetzt $needle durch $replacement $this->strTemplate = str_replace("%".$needle."%",$replacement,$this->strTemplate); } function Display(){ // gibt Template aus echo $this->strTemplate; } } $oben = new Layout(); $oben->Load("testtemp.html"); $oben->Replace("text","bla"); ?>
____________________________________
Im Grunde will der Mensch nur eins: Spass haben, glücklich sein und die Zeit so fröhlich wie möglich miteinader zu verbringen. Dafür verzichtet er gerne auf alles andere. --------------------------------------- Unser Motto: Es ist noch kein Meister vom Himmel gefallen, dafür aber jede Menge Nieten Admiral James T. Kirk ---------------------------------------- Ich kommuniziere also mach ich mich verdächtig ---------------------------------------- |
![]() |
![]() |
![]() |
#3 | |
Jr. Member
![]() Registriert seit: 01.06.2003
Beiträge: 99
|
![]() Zitat:
würd ichs so schreiben PHP-Code:
____________________________________
-- Austrian WebServices http://www.awebs.at lueger@awebs.at |
|
![]() |
![]() |
![]() |
#4 | ||
Veteran
![]() |
![]() Zitat:
der weg würd mich mal interresieren kannst du mir das mal ab dem funktion replace bis $oben->Replace("text","bla"); etwas näher erleutern wäre nett von dir Zitat:
und was ist mit ; na schau da lern ich wieder was dazu =D danke im vorraus mfg alex |
||
![]() |
![]() |
![]() |
#5 | |
Jr. Member
![]() Registriert seit: 22.05.2003
Beiträge: 87
|
![]() Zitat:
Um den Code zu verstehen würde ich auch obige Seite besuchen. Für die Funktion str_replace: http://at.php.net/manual/de/function.str-replace.php Für OO-PHP Programmierung: http://at.php.net/manual/de/language.oop.php Das ganze ist eine einfache Template-Engine und der Code ist wirklich nicht schwer zu verstehen (bis auf die Ausnahme, dass die Methode Display nicht genutzt wird und du demnach nix sehen wirst ![]() ![]() |
|
![]() |
![]() |
![]() |
#6 |
Veteran
![]() |
![]() ein paar fragen hätt ich dann doch noch =D
das $this bezieht sich auf die geöffnete seite? warum bracuh ich die variable oben? steht dann statt %text% bla dort? $oben = new Layout(); hier öffne ich die classe bzw mach ein objekt $oben->Load("testtemp.html"); das is die seite die ich auslesen will $oben->Replace("text","bla"); hier ersetze ich dann text mit bla stimmt das so wie ich mir das da denke? $this->strTemplate = str_replace("%".$needle."%",$replacement,$this->strTemplate); das ersetzt mir %variable% mit dem wert von replacement .. was bewirkt mir das $this->strTemplate am ebde? danke ![]() mfg alex |
![]() |
![]() |
![]() |
#7 | |||
Veteran
![]() |
![]() @AlexanderFX
$this bezieht sich auf das aktuelle File. In $strTemplate wird das File reingeschrieben. Zitat:
Zitat:
Zitat:
![]() [quote]mixed str_replace ( mixed search, mixed replace, mixed subject) oder $bodytag = str_replace("%body%", "black", "<body text=%body%>"); [/QOUTE] Das $this->strTemplate am Ende, gibt die zeichenkette an, die geändert wird, also das Template. Und sry, wie mein Vorposter schon geschrieben hat fehlt hier noch diese Zeile PHP-Code:
____________________________________
Im Grunde will der Mensch nur eins: Spass haben, glücklich sein und die Zeit so fröhlich wie möglich miteinader zu verbringen. Dafür verzichtet er gerne auf alles andere. --------------------------------------- Unser Motto: Es ist noch kein Meister vom Himmel gefallen, dafür aber jede Menge Nieten Admiral James T. Kirk ---------------------------------------- Ich kommuniziere also mach ich mich verdächtig ---------------------------------------- |
|||
![]() |
![]() |
![]() |
#8 |
Veteran
![]() |
![]() Hier ist noch ein Link wo es meiner Meinung nach ganz gut erklärt wird
http://www.yubb.de/artikel492.html lg Peter
____________________________________
Im Grunde will der Mensch nur eins: Spass haben, glücklich sein und die Zeit so fröhlich wie möglich miteinader zu verbringen. Dafür verzichtet er gerne auf alles andere. --------------------------------------- Unser Motto: Es ist noch kein Meister vom Himmel gefallen, dafür aber jede Menge Nieten Admiral James T. Kirk ---------------------------------------- Ich kommuniziere also mach ich mich verdächtig ---------------------------------------- |
![]() |
![]() |
![]() |
#9 |
Veteran
![]() |
![]() werd ich mir anschaun
vielen dank nochmal mfg alex |
![]() |
![]() |
![]() |
#10 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Wenn man schon mit Templates arbeitet, würde ich gleich Smarty als Template-Enginge vorschlagen (http://smarty.php.net).
Biete einige interessante Funktionen fürs durchlaufen von Arrays mit Schleifen (auch verschachelt), Abfragen der Variablenwerte, etc. Du kannst auch zb. ein Header und ein Footer Template basteln und dieses jeweils in den Templates einfügen. Gibts auch ein sehr ausführliches deutsches Manual und ein brauchbares Forum dafür. Du schreibst in der Template dann nur mehr reinen HTML Code und fügst mit {$Varname} die Variablen ein. In PHP kommt der ganze "Programmier"code rein und du übergibst die Variablen dann mit $smarty->assign("Varname",$Varname) Für mehr Informationen stehe ich gerne zur Verfügung. ![]() mfg Thomas |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|