Hallo Andreas,
Zitat:
Zitat von andreas87
wollte einmal kurz nachfragen, ob es (beim laden einer seite) einen unterscheid macht, wenn ich den php-code in den dokumentenheader einsetze (ähnlich wie bei javascript).
|
der PHP-Code wird serverseitig ausgeführt und die Ausgabe davon wird an der entsprechenden Stelle (wo vorher der PHP-Code stand) im ausgegebenen HTML-Code ausgegeben. Ausgeben sollte PHP im HTML-Header natürlich nur Code, der auch in den HTML-Header gehört (z.B. dynamische Titel, dyn. Meta-Values, JavaScript- oder StyleSheet-Code der im PHP berechnet wird).
Wenn ich aber Deinen Vergleich mit JavaScript sehe, gehe ich davon aus, dass Du vielleicht Funktionsdefinitionen meinst. Die kannst Du im PHP an jeder Stelle schreiben, solange es vor der Aufrufstelle ist. Schöner/Übersichtlicher ist es aber, alle PHP-Funktionen am Anfang des Dokumentes zu deklarieren und später nur aufzurufen.
Beim laden der Seite sollte es - zeitlich - keinen unterschied machen an welcher Stelle der PHP-Code ausgeführt wird. Die Gesamtlaufzeit des PHP-Interpreters bleibt identisch so dass das HTML-Dokument entsprechend verzögert ausgeliefert wird.
Zitat:
Zitat von andreas87
möchte es nämlich gerne, dass der php-code "durchlaufen" wird, bevor die restliche seite geladen wird.
|
Dadurch, dass alles PHP schon serverseitig ausgeführt wird, wird der Code in jedem Fall zuerst ausgeführt. Auf der Clientseite kommt kein PHP-Code mehr an.
Hier noch ein paar zusätzliche Informationen (Einfach überlesen, falls Dich das jetzt noch verwirren sollte):
- Es kann auch vorkommen, dass Du beim dynamischen Zusammenbau einer Seite beim HTML-Header schon Informationen benötigst, die Du erst später beim Zusammenbau des HTML-Bodys berechnen kannst. Dann kannst Du alle HTML-Ausgaben in PHP Zwischenpuffern und erst am Ende den gesamten Dokument-Inhalt von PHP ausgeben.
- Normalerweise wird das Dokument erst zum Client gesendet, wenn der gesamte PHP-Code ausgeführt wurde. Bei recht langwierigen Prozessen oder bei einer Ablaufverfolgung kann es sinnvoll sein die Ausgabe schon vorher zu erzwingen (siehe Output Control).
hth
Hartmut