|
 |
Verkettung mit {} |
Konrad
Doppel-As
Dabei seit: 27.03.2008
Beiträge: 102
 |
|
Hallo Mario,
ich weiß nicht in-wie fern du von den Thema etwas weißt aber bevor ich mir in einem anderen Forum einen Account anlegen frag ich erst dich ob du vlt doch darüber Bescheid weißt ;-)
Ich bin beim durchstöbern des Quellcodes der phpBB Forensoftware auf etwas gestoßen welches ich äußerst Spannend finde.
Hier mal 2 Beispiele:
| code: |
1:
|
background-image: url(" {T_THEME_PATH} /images/bg_header.gif"); |
|
| code: |
1:
|
<input class="button2" type="submit" name="delete" value=" {L_DELETE_MARKED} " /> |
|
Wie man sieht steht in den geschweiften Klammern etwas was es im normalen HTML meines Wissens nicht gibt. So wie es aussieht ist das eine Verkettung von php code in html , css ect Dateien.
Was einen erspart " <?php echo: $blablabla ?> zu schreiben , zudem benötigt es auch anscheinend das .php Dateiende nicht. Wie das alles Allerdings funktioniert ist für mich noch ein Geheimnis welches ich gerne wissen würde ;-)
Würde mich freuen wenn du weißt was sich dahinter verbirgt
mfg Konrad
|
|
02.06.2010 22:52 |
|
|
Mario
Administrator
    
Dabei seit: 20.03.2008
Beiträge: 6.313
Herkunft: Troisdorf
 |
|
Hallo Konrad
PHP ohne "<?php" gibt es nicht.
Die von dir genannte Forensoftware basiert aber (genauso wie das WBB2) auf PHP.
Das "Geheimnis" dabei ist, das die (HTML-)Dateien dynamisch durch das Template-System der Forensoftware erzeugt werden.
Ein ähnliches Prinzip gibt es übrigens bei Blogsoftware wie WordPress.
In den geschweiften Klamern werden Variablen oder auch Templates aufgerufen.
Im Quellcode des fertigen Boardes siehst du allerdings nur das Endergebnis, also was PHP erzeugt hat (geparst).
Den echten PHP-Code siehst du darüber nicht.
Wenn du dir den Quellcode dieses Forums hier ansiehst, wirst du ähnliches wie beim phpBB entdecken.
Ich kann dir aber versichern, das das Grundgerüst auf PHP basiert und die Templates in HTML sind.
Um deine Frage zu beantworten: es gibt keine direkte Verkettung von PHP und HTML. Es müssen immer <?php und ?> den PHP-Teil einrahmen.
Grüße
Mario
__________________ Webdesign in Troisdorf
|
|
03.06.2010 15:46 |
|
|
Konrad
Doppel-As
Dabei seit: 27.03.2008
Beiträge: 102
Themenstarter
 |
|
ja mir ist klar das das ganze mit PHP funktioniert ;-)
Aber trotzdem würde ich gerne wissen wie das ganze funktioniert :p
Da ich schätze da wenn man PHP vernünftig machen will man eine klare Trennung von PHP / HTML / Javascript ect braucht ;-) bzw ich würd es so machen
mfg Konrad
|
|
03.06.2010 16:17 |
|
|
Mario
Administrator
    
Dabei seit: 20.03.2008
Beiträge: 6.313
Herkunft: Troisdorf
 |
|
Hallo Konrad
Steht doch eigentlich schon da, wie es funktioniert.
Im PHP-Code werden die HTML-Templates bzw. Variablen aufgerufen.
Die Templates werden meistens erst beim Aufruf der Seite(n) erzeugt.
PHP und HTML werden allerdings auch oft vermischt in einer Datei benutzt. Zumindest ist das beim WBB2 so.
Ich denke, es ist nicht wirklich einfach, ein eigenes Board zu programmieren.
Die Verknüpfung von PHP und HTML-Templates ist recht komplex.
Grüße
Mario
__________________ Webdesign in Troisdorf
|
|
03.06.2010 16:31 |
|
|
Konrad
Doppel-As
Dabei seit: 27.03.2008
Beiträge: 102
Themenstarter
 |
|
ich glaube das wir schon wieder an uns vorbei reden ;-)
Ich weiß dank dir zwar wie sich das in der Theorie umsetzen lässt aber nicht wirklich wie das ganze in der Praxis funktioniert. Hab mir das ganze überlegt und bin auf einige nachteile vom ganzen gestoßen.
Selbst wenn ich weiß wie es funktioniert braucht das ganze ziehmlich viel Server power auf dauer wenn immer alles via PHP / Datenbank ausgelesen wird. Die Lösung dafür heißt Caching wobei ich auch schon die Antwort auf meine ganze Frage gefunden habe :D
Beim Caching gibt es die Möglichkeit den Teil den es gibt durch eine Funktion durchlaufen zu lassen, soll heißen ich muss eine Funktion schaffen in der Teile von den klammern "{}" ersetzt wird.
Meines wissen gibt es in einem HTML element keine solchen Klammern oder? Also kann ich das ganze ersetzen nur wie weiß ich noch nicht ;-)
mfg Konrad
|
|
03.06.2010 21:06 |
|
|
Mario
Administrator
    
Dabei seit: 20.03.2008
Beiträge: 6.313
Herkunft: Troisdorf
 |
|
Hallo Konrad
Was genau willst du denn ersetzen?
Die geschweiften Klammern, damit du eine reine HTML-Funktion hast?
Dann wirst du die Funktionen komplett neu schreiben müssen und zwar ohne Variablen.
Das dürfte dann aber den Quelltext ziemlich aufblähen.
Oder gibt es etwas spezielles, was du machen möchtest?
Beispiel-Code wäre in diesem Fall ideal.
Caching kann auch genau das Gegenteil bewirken und alles verlangsamen.
Grüße
Mario
__________________ Webdesign in Troisdorf
|
|
03.06.2010 22:06 |
|
|
Konrad
Doppel-As
Dabei seit: 27.03.2008
Beiträge: 102
Themenstarter
 |
|
Hallo Mario,
naja caching verlangsamt das ganze nur am Anfang mit der Zeit ist das aber dann dennoch schneller.
Mein Plan ist es i-wie zu schaffen eine Funktion zu schaffen welche den Inhalt zwischen den Klammern ausließt und dann diese ersetzt Beispiel:
<div>{L_welcome}</div>
wird zu
<div>Willkommen</div>
verstehst du was ich meine? ;-)
was das neu schreiben betrifft, das ist egal ich hab ja noch nicht mal Angefangen damit
Und was meinst du mit Quelltext aufblähen? ich seh das sogar anders da der lange <?php echo ... ?> nicht mehr im HTML Teil steht
mfg Konrad
|
|
04.06.2010 17:20 |
|
|
Mario
Administrator
    
Dabei seit: 20.03.2008
Beiträge: 6.313
Herkunft: Troisdorf
 |
|
Hallo Konrad
Hmm, so ganz verstehe ich nicht, was du meinst.
Du möchtest anstatt der Klammern direkt den Inhalt in die Divs einfügen?
Wäre ja kein Problem. Da müßte man nur das PHP und die Variablen weg lassen und alles sofort in den HTML-Text schreiben.
Bei Forensoftware wird vieles über Sprachpakete bzw. Sprachvariablen gemacht.
Vieles davon ändert sich später aber nicht mehr und könnte sofort in den Quellcode eingebunden werden.
Textausgaben sollten sowieso mit HTML anstatt mit PHP gemacht werden.
Eine Funktion, wie du sie dir wünschst, dürfte es theoretisch nicht geben.
Die Variablen in den Klammern werden ja erst im Browser aufgerufen, somit müßte die Funktion praktisch einen zweiten Quellcode erzeugen (sag es mir bitte, wenn ich mal wieder nix kapiere
).
Grüße
Mario
__________________ Webdesign in Troisdorf
|
|
05.06.2010 16:21 |
|
|
Konrad
Doppel-As
Dabei seit: 27.03.2008
Beiträge: 102
Themenstarter
 |
|
|
05.06.2010 17:21 |
|
|
Mario
Administrator
    
Dabei seit: 20.03.2008
Beiträge: 6.313
Herkunft: Troisdorf
 |
|
Hallo Konrad
Sag das doch gleich.
Hat natürlich mit HTML nicht wirklich was zu tun, ist aber trotzdem interessant.
Grüße
Mario
__________________ Webdesign in Troisdorf
|
|
05.06.2010 22:29 |
|
|
Konrad
Doppel-As
Dabei seit: 27.03.2008
Beiträge: 102
Themenstarter
 |
|
Hallo Mario,
:D , ich hab echt manchmal Probleme mich Richtig auszudrücken :( aber man versucht ja sein besten in der Hoffnung das es eines Tages nicht mehr passiert ;-)
mfg Konrad
|
|
05.06.2010 23:11 |
|
|
|
|
|
 |
|