PHP, Design in CSS machen oder wie?

Hallo,

ich in Anfänger in Sachen PHP und möchte eine vorh. HP nach und nach von HTML+CSS in PHP umschreiben. Xampp 1.8.1-0 habe ich auf meinem Laptop schon installiert, über „localhost“ erreiche ich zumindest schon meine testdatei.

Meine Verständnisfragen sind:

  • wird der PHP-Code alleine verwendet, oder ist er stets eine Ergänzung innerhalb des HTML-Codes?

  • Wird eine von der PHP-Routine aufgerufene Textdatei durch PHP layoutet, also in einer Box dargestellt, mit Schrift und Farbe versehen usw., oder durch CSS, verbunden mit HTML?

Danke für Erste Hilfe
Gruß
Pauli

Hallo pauli,

ich in Anfänger in Sachen PHP und möchte eine vorh. HP nach
und nach von HTML+CSS in PHP umschreiben. Xampp 1.8.1-0 habe
ich auf meinem Laptop schon installiert, über „localhost“
erreiche ich zumindest schon meine testdatei.

Xampp ist zwar für einen Anfänger, super einfach …installieren und starten, aber du solltest, wenn du mit php warm geworden bist, versuchen einen echten Apache (vorher xampp deinstallieren, und alle Ordner löschen) zu integrieren + einen mysql-Server (oder besser postgresql)…Warum? Weil Xampp sehr tolerant ist, evtl. minimale Fehler laufen auf Xampp problemlos, doch irgendwann möchtest du deine Anwendung ja hosten und dort läuft ein „richtiger Apache“, der so minimale Fehler nicht mehr verzeiht und deine Anwendung läuft unter Umständen dann nicht. (Nur so nebenbei).

Meine Verständnisfragen sind:

  • wird der PHP-Code alleine verwendet, oder ist er stets eine
    Ergänzung innerhalb des HTML-Codes?

Ja und Nein oder beides, kommt halt darauf an, wie du was machst. Du kannst den kompletten html-code per php generieren (was eher zu empfehlen ist) …Templates (wobei das dann reiner html-code ist, zumindest was einen eigenen Entwurf einer Templateengine entspricht, welche in php ziemlich einfach ist. Jedoch enden die Dateien nicht auf html sondern eher auf .tpl oder auch .inc.php) Wiederverwendung von Code usw. Bsp:

function printbody(){
 echo " Test ";
 echo " Was auch immer ";
}

Eigene Template-Engine:

 {login}

Das Template parst du dann in php z.B so:

public function render($login=""){
 $this-\>tpl = "";
 $this-\>setTemplate('master');
 $this-\>tpl = str\_replace("{login}", $login, $this-\>tpl);
 echo $this-\>tpl;
 }

Nur als Beispiel, normal macht man sich noch eine Page-Klasse.

oder wie in vielen Anfängerbüchern, html-code erzeugen in denen du dann php-code inkludierst. Bsp:

 <?php include title.php ?> 

Müssen dann aber (glaube ich) auf .php enden und nicht .html

  • Wird eine von der PHP-Routine aufgerufene Textdatei durch
    PHP layoutet, also in einer Box dargestellt, mit Schrift und
    Farbe versehen usw., oder durch CSS, verbunden mit HTML?

Versteh deine Frage nicht ganz, aber du setzt ganz normal deine css-Datei und bindest, in deinen html-tags, als class-Attribute, die Gestaltungselemente.

Aber mal als Frage, um was für eine Seite handelt es sich denn? Hast du eine Datenbank, Login usw.? Wenn nein, dann kann man das zur Übung ruhig mal machen, aber eine „normale Webseite“ ohne Datenbankanbindung und sonstigen Schnick Schnack, sollte man wenn man php nicht braucht in html belassen, wenn syntaktisch korrekt, gibt es nichts performanteres als eine reine Html-Seite.

Gruß XXD

Hallo XXD,

danke für Deine Antwort, die ich erst mal in Ruhe nachvollziehen muß. Die Webspace, die mir zur Verfügung steht, hat auch eine Datenbank, die ich allerdings noch nie benutzt habe. Vormals war Joomla installiert, was mir zu kompliziert war, sodaß ich die HP nur auf Basis HTML aufgebaut habe, inzwischen durch CSS entmüllt (Layout ausgegliedert).
Ich habe eine externe Textdatei mit Hilfe eines kurzen PHP-Codes (include) innerhalb der HTML-Datei aufgerufen und mich dabei gewundert, daß diese nicht in der vorgesehenen Box angezeigt wird, die mit CSS positioniert und dimensioniert (Länge, Breite) ist. Stattdessen steht der Text am Ende des Layoutstroms und ist völlig unformatiert, also keine Positionierung links/rechts, keine vorgegebene Schriftart und -größe. Daher die Idee, daß PHP ggf. das Layout nicht macht.
Anfangs war die Box mit iframe gemacht, was ja nun wegen CSS „unsittlich“ ist (Deklaration „strict“), danach dann mit object. Object wird aber bei älteren Internetexplorern (ab 8 abwärts) nicht korrekt behandelt. Dadurch kam nun PHP ins Spiel, was mir allerdings Möglichkeiten eröffnet, die ich bislang nur vom normalen Programmieren kenne, sodaß ich mich näher mit PHP befassen möchte.
Zum Üben bleibe ich erst mal bei Xampp, danach sehe ich dann weiter.

Danke nochmal für Deine Anregungen.
Gruß
Pauli

Es gibt wie immer mehrere Möglichkeiten :

Standard ist das nur .php Dateien auch vom PHP-Parser verarbeitet werden.

Manchmal geht es auch das .html dateien mit PHP geparst werden, das aber nicht mehr normal .

Das Einbinden des Codes bei include im php erfolgt genau da wo der inlcude steht und ist quasi nur eine code auslagerung.

index.php ist die einstigsseite

in index.php dann z.b.

<?php /* die Hauptseite */ ?><?php include'head.php'; ?><?php include'body.php'; ?>

Es kann HTML und PHP gemixt werden .
Allerdings wird PHP auf dem Server ausgeführt und dann das ergebnis (also die html seite) and den browser geschickt.

Das heisst, das PHP nicht auf das im Browser befindliche HTML bzw JavaScript nachträglich einwirken kann (ausgenommen push systeme).
Also
PHP Seite -> HTML/Script Seite -> Server -> Browser : HTML elemente / CSS anzeigen / JavaScript ausführen.

Moin,

ich in Anfänger in Sachen PHP und möchte eine vorh. HP nach
und nach von HTML+CSS in PHP umschreiben.

Das geht nicht :smile:

Eine Website ist IMMER in HTML (Struktur, Semantik) und CSS (Layout, Design) zu erstellen. Von so Geschichten wie XML und XSLT fangen wir erstmal gar nicht an.

PHP kann nur als Mittel zur Erstellung der HTML/CSS-Seiten dienen.

Veranschauliche Dir den Weg, den so eine Website geht, wenn Du auf einen Link klickst:
Dein Browser schickt eine Anfrage an einen Server. Der Server sucht die gewünschte Seite raus. Wenn er sieht, dass er den PHP-Interpreter starten muss, dann tut er das. Der macht noch irgendwelche anderen Dinge, am Ende kommt aber eine Seite raus, die nur noch HTML/CSS enthält, aber kein PHP mehr. Diese Datei wird dann zurück an Deinen Browser geschickt.

Ein Browser kann kein PHP. PHP läuft ausschließlich serverseitig.

Meine Verständnisfragen sind:

  • wird der PHP-Code alleine verwendet, oder ist er stets eine
    Ergänzung innerhalb des HTML-Codes?

Das kannst Du machen wie Du willst. Wichtig ist, dass Dein PHP-Script am Ende eine vollständige Webseite ausgeben muss (mit print oder echo o.ä.). PHP-Code, der in den HTML-Code eingebettet ist, wird abgearbeitet und das Ergebnis dieses PHP-Scripts wird an die Stelle des PHP-Codes ins HTML eingebettet.

  • Wird eine von der PHP-Routine aufgerufene Textdatei

PHP kann keine Textdatei aufrufen. Unter „aufrufen“ versteht man idR „ausführen“. Textdateien können nicht ausgeführt werden. Du kannst eine Textdatei (oder eine PHP-Datei oder eine HTML-Datei) von PHP einbinden lassen (Stichwort: include). Die Datei wird dann an die Stelle in die HTML-Seite kopiert, wo der Code steht, der das machen soll.

durch PHP layoutet

PHP layoutet nichts, PHP stellt nichts dar. PHP läuft nur auf Serverseite und gibt eine Webseite aus. Layout wird ausschließlich mit CSS im Browser gemacht.

Danke für Erste Hilfe

Gerne. Am Anfang scheint der Einstieg in PHP immer etwas schwer, aber wenn man sich den eingangs erklärten Ablauf mal genau ansieht und versteht, dass PHP nichts darstellt, sondern nur eine statische Seite erzeugt, die dann zurück zur Darstellung an den Browser geschickt wird, merkt man eigentlich ganz gut, dass das keine Hexerei ist.

Liebe Grüße,
-Efchen

Moin,

Xampp ist zwar für einen Anfänger, super einfach
…installieren und starten, aber du solltest, wenn du mit php
warm geworden bist, versuchen einen echten Apache zu integrieren

XAMPP ist kein Programm, sondern ein Programmpaket. Es enthält einen *echten* Apache und auch einen MySQL-Server (neben PHP, Perl uvm.).

Weil Xampp sehr tolerant ist, evtl. minimale Fehler laufen auf
Xampp problemlos, doch irgendwann möchtest du deine Anwendung
ja hosten und dort läuft ein „richtiger Apache“

Sorry, aber das ist Unfug. XAMPP „läuft“ nicht, weil es kein Programm ist. Im Paket XAMPP ist ein *richtiger* Apache, der einfach nur so konfiguriert werden muss, wie der des eigenen Webspaces. Das hat nichts mit Toleranz oder Fehler verzeihen zu tun, das sind einfach die Einstellungen des Servers oder von PHP.

Ja und Nein oder beides, kommt halt darauf an, wie du was
machst. Du kannst den kompletten html-code per php generieren
(was eher zu empfehlen ist)

Das ist nicht zu empfehlen. Jeder sucht sich seinen eigenen Weg. Wenn ich an eine Stelle in einer großen, statischen Seite einen Wert aus einer Datenbank ausgeben will, dann baue ich einen Funktionsaufruf in die HTML-Datei ein und werde die nicht auf Ausgabe durch PHP umschreiben.

Jedoch enden die Dateien nicht auf html sondern
eher auf .tpl oder auch .inc.php)

Worauf die Dateien enden müssen, ist reine Einstellungssache. Man kann auch .html-Dateien von PHP parsen lassen (was nicht zwangsläufig empfehlenswert ist). Auf manchen Webspaces wirst Du auch Endungen wie .php4 oder .php5 begegnen. Es kommt halt einfach auf die Konfiguration an.

oder wie in vielen Anfängerbüchern, html-code erzeugen in
denen du dann php-code inkludierst. Bsp:

<?php include title.php ?>

Ich würde das nicht so mit Anfängerbüchern in Verbindung bringen, denn das sieht dann so aus, als machen Experten sowas nicht. Aber das include ist ein sehr mächtiges und auch oft verwendetes Hilfsmittel. Das ist letztlich auch genau das, was pauli-441 vorrangig sucht.

Müssen dann aber (glaube ich) auf .php enden und nicht .html

Wie die zu includierenden Dateien enden, ist irrelevant. Die brauchen gar keine Dateiendung. Sollen sie aber vor dem Includen noch vom PHP-Interpreter verareitet werden, müssen sie die richtige Endung haben (Serverkonfiguration, s.o.; meist „.php“ o.ä.).
Du kannst auch eine Textdatei includen, die auf „.exe“ endet.

Grüße,
-Efchen

Moin,

Ich habe eine externe Textdatei mit Hilfe eines kurzen
PHP-Codes (include) innerhalb der HTML-Datei aufgerufen und
mich dabei gewundert, daß diese nicht in der vorgesehenen Box
angezeigt wird

Der Inhalt der includeten Datei wird an die Stelle im originalen Code kopiert, wo der Include-Aufruf steht.
Wenn der Inhalt dann an der falschen Stelle im Browser steht, dann ist der Code entweder an der falschen Stelle includiert worden oder ist per CSS falsch positioniert.

Stattdessen steht der Text am Ende des
Layoutstroms und ist völlig unformatiert

Textdateien besitzen ja auch keinerlei Formatierung, weder in Sachen Semantik (HTML) noch Layout (CSS). Das musst Du natürlich in die Textdatei einbauen. Wenn Du einen Zeilenumbruch in der Textdatei hast, dann bekommst Du im Browser natürlich nur ein Whitespace.

Daher die Idee, daß PHP ggf. das Layout nicht macht.

PHP weiß nicht, was Layout ist :smile:

Anfangs war die Box mit iframe gemacht, was ja nun wegen CSS
„unsittlich“ ist

Das ist auch schon ohne CSS blöd und ist mit serverseitigem Include barrierefrei.

Zum Üben bleibe ich erst mal bei Xampp, danach sehe ich dann
weiter.

Es gibt keinen Grund, das später zu ändern. Ich arbeite auch nach 15 Jahren noch mit XAMPP.

Danke nochmal für Deine Anregungen.

Leider war nicht alles wirklich richtig.

Liebe Grüße,
-Efchen

Moin,

Das Einbinden des Codes bei include im php erfolgt genau da wo
der inlcude steht und ist quasi nur eine code auslagerung.

Und dass das ganz banal funktioniert, sieht man daran, dass man sogar halbe HTML-Tags includen kann!

Datei foo.txt:
Hallo!

Und jetzt includen:

<?php include("foo.txt");include("bar.foo");include("foobar.www");<br />?\>

Heraus kommt ein Tag „Überschrift ersten Grades“ mit Inhalt.

So trivial ist das.
Man muss sich immer vor Augen halten: PHP oder der Server kennen kein HTML oder CSS. Der Browser hingegen kennt kein PHP.

Grüße,
-Efchen

Sei noch gesagt das es eine stateless Verbindung ist.

Das heisst der Server beantwortet die Anfrage
(liefert die Webswesite an den Browser)
und dann stirbt der prozess.
Das heist das jede anfrage eine neue anfrage ist.
Der Server merkt sich nix nach Auslieferung und weiss auch nicht ob die seite wirklich empfangen wurde. den Browser senden keine Bestätigung.

Da ist php und Sessions ein segen und schafft genau diese hürde zu meistern.

Hallo,

PHP layoutet nichts, PHP stellt nichts dar. PHP läuft nur auf
Serverseite und gibt eine Webseite aus. Layout wird
ausschließlich mit CSS im Browser gemacht.

Zusatz: Die ausgegebene Webseite hat einen Quellcode, den man sich ansehen kann. Da sieht man nicht die php-Befehle, sondern das, was php gemacht hat - html und css (und ggfs javascript und anderen Kram). Da lässt sich auch zurückverfolgen, wo ein Fehler sein könnte.

Cheers, Felix

Hallo Efchen,

Leider war nicht alles wirklich richtig.

kurz zu Xampp, ich musste schon meherere php-HP’s, die unter xampp von Anfängern gemacht worden sind, auf einen Apache und mysql-Server übertragen. Seiten die unter Xampp liefen,liefen unter der neuen Config (so wie sie laut apache.org sein sollte, im „echten“ Betrieb) nicht, meist minimale Fehler, wenn dir so was noch nicht unterlaufen ist, schön (aber glaub mir so was gibt es).
Kann hier nur aus persönlicher Ehrfahrung sprechen. Das man Xampp im Produktionsbetrieb einsetzt, kann evtl. machen. Ich mache das nicht! Ob ich nun das PROGRAMMPACKET(zufrieden?) Xampp installiere oder in 10 min. Apache und mysql auf einem Linux-Server oder Mac-Server einrichte, ist Jacke wie Hose, also mache ich es lieber gleich „richtig“ (Unter Windows-Servern…zugegeben, dauert es etwas länger).

Kommen wir zum mixen von html und php …kann man machen, wird ja auch so, aus meiner Ansicht heraus, in „Anfängerbüchern“ so publiziert. Sorry, das ich das so sage, aber vielleicht, solltest du dich, da mal etwas weiterbilden. Denn die Tendenz geht schon seit längerem, nämlich weg von so einen geschnuckel, um den Anforderungen, die in Zukunft auf Webanwendungen zukommen, gerecht zu werden (Siehe Vaadin, JSF (keine jsp oder jstl mehr, also Mix), am besten sogar kein
Htmlcode (Programmiersichtweise) -> siehe Vaadin, oder legen wir noch eine Schippe drauf …OSGi), wenn du sofort in allen eben genannten Bereichen sofort loslegen kannst, nehm ich meine Aussage mit der Weiterbildung zurück, aber
verstehe dann deine Argumentation nicht -> Begründung…siehe weiter unten.
Zudem möchte ein ordentlicher Programmierer MVC (ja ich weiss es gibt Flow3), ORM und DI(Dependency Injection) wer das kennt, mag sowas nicht mehr
missen. Aber um beim Thema zu bleiben, man mixt nicht!
Klar kann man sagen es geht hier um einen Anfänger, aber gerade du Efchen bist extrem kleinlich, damit die Leute es richtig lernen, was auch, zwar nicht immer, aber meistens nicht verkehrt ist. Und so macht man das heute richtig kein Mix!
Quelle: (Professoren meiner ehemaligen Hochschule mit exellenter Reputation, damit mit man bei uns angenommen werden kann, braucht es schon einen NC von 2.0)
Aber kommen wir nochmal zu dem PROGRAMM-packet xampp, wenn man so pedantisch ist, sollte man dann auch konsequent sein, wenn dann richtig, oder? Ich weiss ja nicht, wann du deinen Abschluss in Informatik gemacht hast, oder überhaupt einen hast, aber so lernt man das heute auf Unis und Hochschulen. Kein Mix! Warum? Weil gerade in größeren Projekten mit der Aufteilung Desgin und Programmierung,
durch strikte Trennung, (wie von mir beschrieben), den Designer desigenen lassen kann und der Programmierer macht den Rest, „vollig unabhängig“ von einander. Dabei hat sich auch eine Konvention, der Bennennung etabliert,
klar kann man die .bar nennen, aber (siehe pedantisch -> konsequent) .tpl oder inc.php, weiss jeder sofort am Namen was los ist.

Grob als Fazit: wenn man kein php benötigt, sollte man es weglassen.

Beste Grüsse XXD

1 Like

Moin,

kurz zu Xampp, […] meist minimale Fehler,
wenn dir so was noch nicht unterlaufen ist, schön

Doch, ist es. Das ändert aber nichts daran, dass XAMPP kein Programm ist und der darin enthaltene Apache der gleiche ist, den Du ohne XAMPPP installieren willst und dass Du auch einen ohne XAMPP installierten Apache „falsch“ konfigurieren kannst.

Kann hier nur aus persönlicher Ehrfahrung sprechen.

Persönliche Erfahrung hat aber oft nichts mit der Regel zu tun.

Das man Xampp im Produktionsbetrieb einsetzt, kann evtl. machen. Ich
mache das nicht!

XAMPP ist nur ein Programmpaket. Das kann man nicht „einsetzen“. Wenn Du von Hand Apache, PHP, MySQL usw. installierst, machst Du nichts anderes, als wenn Du XAMPP installierst. Nur dauert es länger.

Ob ich nun das PROGRAMMPACKET(zufrieden?)
Xampp installiere oder in 10 min. Apache und mysql auf einem
Linux-Server oder Mac-Server einrichte, ist Jacke wie Hose,

Das versuche ich Dir ja gerade zu sagen :smile:

also mache ich es lieber gleich „richtig“ (Unter
Windows-Servern…zugegeben, dauert es etwas länger).

„richtig“ heißt doch nur, die Konfiguration an die auf Deinem Webspace anpassen. Du kannst also auch XAMPP installieren (dauert unter Windows nur wenige Minuten) und dann die Konfiguration ändern. Musst Du doch sowieso, wenn Du das „von Hand“ installierst.

Aber um beim Thema zu bleiben, man mixt nicht!

Klappt aber gut.
Und ist für pauli-441 sicher der richtige Einstieg.

Klar kann man sagen es geht hier um einen Anfänger, aber
gerade du Efchen bist extrem kleinlich, damit die Leute es
richtig lernen, was auch, zwar nicht immer, aber meistens
nicht verkehrt ist. Und so macht man das heute richtig kein
Mix!

Ich bin vermutlich nicht richtig weiter gebildet, aber ich habs noch nicht begriffen, warum man das nicht tun sollte.

Quelle: (Professoren meiner ehemaligen Hochschule mit
exellenter Reputation, damit mit man bei uns angenommen werden
kann, braucht es schon einen NC von 2.0)

Na, dann hab ich da ja nichts verloren.

aber so lernt man das heute auf Unis und Hochschulen.
Kein Mix!

Dann kann ich das ja auch nicht wissen. Als ich an der Uni war, gabs noch kein HTML und alles, was damit zu tun hat…

Warum? Weil gerade in größeren Projekten mit der
Aufteilung Desgin und Programmierung,
durch strikte Trennung, (wie von mir beschrieben), den
Designer desigenen lassen kann und der Programmierer macht den
Rest, „vollig unabhängig“ von einander.

Da wäre es doch ideal, wenn der HTMLer seine Templates erzeugen kann. Denn was will der Programmierer mit HTML? Der gibt dem HTMLer seine Aufrufschnittstellen mit, damit der die dann einfach in seinen HTML-Code einbauen kann.

Dabei hat sich auch
eine Konvention, der Bennennung etabliert,
klar kann man die .bar nennen, aber (siehe pedantisch ->
konsequent) .tpl oder inc.php, weiss jeder sofort am Namen was
los ist.

Das ist sicher richtig. Aber alle Deine Argumente gehen in Richtung Großprojekt und Arbeiten mit einer großen Mannschaft, die voneinander unabhängig sein sollen oder gar müssen. Das ist ja alles schön und gut, hilft aber pauli-441 an dieser Stelle nun tatsächlich nicht weiter :smile: Weil der Aufwand ist hier um ein Vielfaches höher. Mit dem Unterschied „schlabbriges HTML“ oder „richtiges HTML“ schreiben kann man das nicht vergleichen.

Grob als Fazit: wenn man kein php benötigt, sollte man es
weglassen.

Man kann natürlich include() auch über CGI oder SSI machen. Aber viele Webspaces bieten sowas erst in höheren Paketen oder gar nicht an, und dann bleibt einfach nur PHP. Und für include() PHP zu benutzen ist doch kein Problem.

Grüße,
-Efchen

Hallo Efchen,

Doch, ist es. Das ändert aber nichts daran, dass XAMPP kein
Programm ist und der darin enthaltene Apache der gleiche ist,
den Du ohne XAMPPP installieren willst und dass Du auch einen
ohne XAMPP installierten Apache „falsch“ konfigurieren kannst.

Ok, ich glaube hier müssen wir eine OS-Unterscheidung machen, unter Linux und Mac OS (mehr Gewicht auf Linux) würde ich stark abraten xampp zu installieren, da dort meist schon ein Apache integriert ist und eine Xampp-Installation nicht nur unötig, sondern auch zu unvorhersehbaren Verhalten führen kann.

Persönliche Erfahrung hat aber oft nichts mit der Regel zu
tun.

Klar! Aber es kommt vor und Anfänger wundern sich dann warum das ohne Xampp nicht mehr läuft, die Fehlersuche ist dann, wenn man sich nicht auskennt, die Suche nach der Nadel im Heuhaufen.

Das man Xampp im Produktionsbetrieb einsetzt, kann evtl. machen. Ich
mache das nicht!

XAMPP ist nur ein Programmpaket. Das kann man nicht
„einsetzen“. Wenn Du von Hand Apache, PHP, MySQL usw.
installierst, machst Du nichts anderes, als wenn Du XAMPP
installierst. Nur dauert es länger.

Nicht unter Linux! Unter Windows verstehe ich es ja, dort ist das ganze dann nicht mehr so einfach (bestimmte Apache version muss mit bestimmten php-Kompilierungen (V9++, oder V11++) eingerichtet werden (Non Thread safe, Thread safe …hat man dann eine ILS-Server, gehen wieder nur bestimmte Apache und Php-Kompilierungen)…für einen Anfänger wäre das der „Horror“, dann lieber Xampp und php richtig lernen, (für Xampp benötigt man ersteinmal keine tieferen Kenntnisse über die Funktionsweise der Komponenten), somit wird der Fall oben womöglich nicht eintreffen. Aber wenn pauli das ganze unter Linux machen möchte, rate ich von Xampp ab. Xampp stößt auch bei Spezalisierungen an seine Grenzen (bin keine Xampp Fachmann, sage das jetzt mal so, lasse mich da aber gerne eines besseren belehren).

Aber um beim Thema zu bleiben, man mixt nicht!

Klappt aber gut.
Und ist für pauli-441 sicher der richtige Einstieg.

Ja und Nein, hatte meine erste HP mit php auch so gemacht (Mix), meiner 2. schon nicht mehr, weil eine saubere Trennung, leichter zu Warten ist. Ich betone hier an der Stelle, man kann das so machen, wenn ich Lehrer wäre (dank sei Glück bin ich keiner) würde ich aber die saubere Trennung lehren (da es dem Prinzip von moderner Softwareentwicklung entspricht) und das wird auch schon so umgesetzt z.B. in der deklarativen Sprache CSS (siehe Nicole Sullivan OOCSS)…saubere Trennung.

Warum? Weil gerade in größeren Projekten mit der
Aufteilung Desgin und Programmierung,
durch strikte Trennung, (wie von mir beschrieben), den
Designer desigenen lassen kann und der Programmierer macht den
Rest, „vollig unabhängig“ von einander.

Da wäre es doch ideal, wenn der HTMLer seine Templates
erzeugen kann. Denn was will der Programmierer mit HTML? Der
gibt dem HTMLer seine Aufrufschnittstellen mit, damit der die
dann einfach in seinen HTML-Code einbauen kann.

Exakt, der HTMLer macht die Templates und „meine“ Engine liest sie ein, verarbeitet sie und der Server schickt die Daten an den Browser.

Dabei hat sich auch
eine Konvention, der Bennennung etabliert,
klar kann man die .bar nennen, aber (siehe pedantisch ->
konsequent) .tpl oder inc.php, weiss jeder sofort am Namen was
los ist.

Das ist sicher richtig. Aber alle Deine Argumente gehen in
Richtung Großprojekt und Arbeiten mit einer großen Mannschaft,
die voneinander unabhängig sein sollen oder gar müssen.

Das ist schon klar!

Das
ist ja alles schön und gut, hilft aber pauli-441 an dieser
Stelle nun tatsächlich nicht weiter :smile:

Warum nicht? Eine eigene Template-engine ist in php echt nicht schwer und eine wunderschöne Übung zum lernen.

Weil der Aufwand ist
hier um ein Vielfaches höher.

Anfangs ja, aber einmal geschrieben, kann er immer wieder Code (Klassen) wiederverwenden. Egal man kann es so oder so machen, pauli kann ja beides machen, erstmal euren Vorschlag, wenn er dann mit php warm geworden ist, meinen und am Ende selbst entscheiden welchen Stil er schöner findet :wink:

Gruß XXD

1 Like

Moin,

Ok, ich glaube hier müssen wir eine OS-Unterscheidung machen,
unter Linux und Mac OS (mehr Gewicht auf Linux) würde ich
stark abraten xampp zu installieren, da dort meist schon ein
Apache integriert ist und eine Xampp-Installation nicht nur
unötig, sondern auch zu unvorhersehbaren Verhalten führen
kann.

Dem stimme ich gerne zu. Die Wahrscheinlichkeit, dass pauli-441 Linux benutzt, halte ich zwar für äußerst gering, aber Du hast recht, wenn Du sagst, dass mitlesenden Linux-Nutzern die Information helfen wird.

die Fehlersuche ist dann,
wenn man sich nicht auskennt, die Suche nach der Nadel im
Heuhaufen.

Das kann dem Anfänger aber auch ohne XAMPP passieren, es reicht ja, wenn die Konfiguration des eigenen und des Webspace-Servers abweichend sind.

Nicht unter Linux! Aber wenn pauli das ganze unter
Linux machen möchte, rate ich von Xampp ab.

Das kann ich gerne so stehen lassen. Ich habe hier grad zwar auch einen Apache unter Linux laufen, aber da ist auf dem System auch schon alles installiert, PHP, Perl, MySQL, phpMyAdmin…

Xampp stößt auch
bei Spezalisierungen an seine Grenzen

Nachdem XAMPP nur die verschiedenen, aufeinander abgestimmten Komponenten installiert, kann ich mir das nicht vorstellen. Es ist ja kein besonderer, in irgendeiner Weise abgespeckter, Apache der da installiert wird.

wenn ich Lehrer wäre würde ich aber die saubere Trennung lehren

Okay, angesichts dessen, was ich in HTML/CSS hier lehre, will ich Dir da nicht weiter widersprechen. Möglicherweise hab ich Deine Arbeitsweise so noch nicht kennen gelernt und kann es nicht beurteilen, ob das besser ist.

ist ja alles schön und gut, hilft aber pauli-441 an dieser
Stelle nun tatsächlich nicht weiter :smile:

Warum nicht? Eine eigene Template-engine ist in php echt nicht
schwer und eine wunderschöne Übung zum lernen.

Ist PHP nicht selber eigentlich schon eine Template-Sprache?
Ich meine, warum muss ich einen Interpreter für so Dinge wie

 {Headline} 

schreiben, wenn ich doch auch

<?php print $headline; ?> 

schreiben kann? Abgesehen von ein paar Zeichen mehr sollte das in der Abarbeitung sogar schneller sein.

Weil der Aufwand ist
hier um ein Vielfaches höher.

Anfangs ja, aber einmal geschrieben, kann er immer wieder Code
(Klassen) wiederverwenden.

Da hast Du natürlich recht.

Grüße,
-Efchen

Hallo,

vielen Dank für die ausführliche Diskussion zu dem Thema. Das hat mir enorm geholfen, zumal ich jetzt die Wirkungsweise von PHP begriffen habe.

Gruß
Pauli