So halten Sie PHP 'View Source' html output clean [duplizieren]

8

Das hat mich heute gestört, nachdem ich die Source auf einer Site überprüft habe. Ich verwende PHP-Ausgabe in meinen Vorlagen für dynamischen Inhalt. Die Vorlagen beginnen nur in HTML und sind sauber eingerückt und formatiert. Der PHP-Inhalt wird dann hinzugefügt und eingerückt, um der HTML-Formatierung zu entsprechen.

%Vor%

Wird:

%Vor%

Bei der Ausgabe in html werden die eingekapselten PHP-Zeilen verworfen, aber der Leerraum, der für die Formatierung verwendet wurde, bleibt übrig und löst die Formatierung der Ansichtsquellen aus. Die Website, die ich erwähnt habe, ist in der Ausgabe der Ansichtsquelle sauber formatiert. Sollte ich annehmen, dass sie eine Template-Engine verwenden? Gibt es auch eine Möglichkeit, die Art von Vorlagen, die ich habe, aufzuräumen? ohne den Whitespace manuell zu entfernen und die Lesbarkeit auf der Dev-Seite zu opfern?

    
kevzettler 04.06.2009, 05:06
quelle

12 Antworten

13

Das nervt mich auch. Das Beste, was Sie tun können, ist die Verwendung von Tidy, um den Text nachzubearbeiten. Fügen Sie diese Zeile zum Anfang Ihrer Seite hinzu (und bereiten Sie sich darauf vor, die Ausgabepufferung zu verheerenden Sie finden Ihren ersten PHP-Fehler mit der Pufferung der Ausgabe auf):

%Vor%     
soulmerge 04.06.2009, 05:29
quelle
6

Sie können PHP nicht wirklich sauber ausgeben. Ich würde dringend vorschlagen, eine Art von Templating-Engine wie Smarty zu verwenden. Abgesehen von der sauberen Ausgabe haben Vorlagen-Engines den Vorteil, dass sie eine gewisse Trennung zwischen Ihrem Code und Ihrem Design beibehalten, was die Wartbarkeit und Lesbarkeit komplexer Websites erhöht.

    
Marquis Wang 04.06.2009 05:10
quelle
4

ich gebe zu, ich mag sauber, schön eingerückt html auch. oft funktioniert es nicht so, wie ich es möchte, aus den gleichen Gründen, die du hast. manchmal werden manuelle Einrückungen und Zeilenumbrüche nicht beibehalten, oder es funktioniert nicht, weil Untereinträge die Einrückung zurücksetzen.

und den Maschinen ist es egal. nicht über Whitespace, nicht über Kommentare, das einzige was ihnen wichtig ist, ist minimiertes Zeug, also sind zusätzliche Whitespaces und Kommentare eigentlich kontraproduktiv. aber es ist so schön *sigh*

Manchmal, wenn Firebugs nicht verfügbar sind, mag ich es einfach zum Debuggen. Aus diesem Grund habe ich die Möglichkeit, HTML manuell für die aktuelle Anfrage manuell zu aktivieren. Seien Sie vorsichtig: Tidy korrigiert automatisch bestimmte Fehler (abhängig von den Konfigurationsoptionen), sodass es Fehler von Ihnen verbergen kann.

    
stefs 04.06.2009 07:23
quelle
4

Sind "hübsche" HTML-Ausgaben wichtig? Sie werden den ausgegebenen HTML-Code in einen Editor einfügen, wann immer Sie ihn durchsuchen wollen, und der Editor wird vermutlich die Möglichkeit haben, ihn korrekt zu formatieren (oder Sie müssen die Editoren wechseln!).

Ich finde die Vorschläge, eine zusätzliche Templating-Sprache zu verwenden (weil das genau PHP ist), abscheulich. Sie würden jede Seite verlangsamen, um den ungeraden Platz oder Tab zu korrigieren? Wenn überhaupt, würde ich in die andere Richtung gehen und mich dazu neigen, jede Seite durch ein Tool zu führen, um den verbleibenden Leerraum zu entfernen .

    
Some Canuck 04.06.2009 12:26
quelle
4

So mache ich es:

%Vor%

Grundsätzlich sind alle meine Bedingungen und Schleifenblöcke in den Ansichten linksbündig. Wenn sie verschachtelt sind, rufe ich innerhalb des PHP-Start-Tags wie folgt ein:

%Vor%

Auf diese Weise sehe ich die Darstellungslogik klar, wenn ich den Code überfliege, und es sorgt für eine saubere HTML-Ausgabe. Die Ausgabe innerhalb der Blöcke ist genau dort, wo ich sie hinstelle.

Eine Warnung: PHP isst Zeilenumbrüche nach dem schließenden Tag ?> . Dies wird zu einem Problem, wenn Sie etwas in einem <pre> -Block ausgeben.

%Vor%

Dies wird ausgegeben:

%Vor%

Dies ist eine Art Hack, aber das Hinzufügen eines Leerzeichens nach dem <?=$var?> macht es sauber.

Entschuldigung für die übermäßigen Code-Blöcke, aber das nervt mich schon lange. Hoffe, es hilft, nach etwa 7 Monaten.

    
user373100 22.06.2010 11:46
quelle
3

Sie haben einige Male meine Ausgabe zum Debuggen meines generierten HTML-Codes aufgeräumt. Ich habe Registerkarten und Zeilenumbrüche verwendet ... dh;

%Vor%     
Christian 04.06.2009 05:55
quelle
3
___ qstntxt ___

Das hat mich heute gestört, nachdem ich die Source auf einer Site überprüft habe. Ich verwende PHP-Ausgabe in meinen Vorlagen für dynamischen Inhalt. Die Vorlagen beginnen nur in HTML und sind sauber eingerückt und formatiert. Der PHP-Inhalt wird dann hinzugefügt und eingerückt, um der HTML-Formatierung zu entsprechen.

%Vor%

Wird:

%Vor%

Bei der Ausgabe in html werden die eingekapselten PHP-Zeilen verworfen, aber der Leerraum, der für die Formatierung verwendet wurde, bleibt übrig und löst die Formatierung der Ansichtsquellen aus. Die Website, die ich erwähnt habe, ist in der Ausgabe der Ansichtsquelle sauber formatiert. Sollte ich annehmen, dass sie eine Template-Engine verwenden? Gibt es auch eine Möglichkeit, die Art von Vorlagen, die ich habe, aufzuräumen? ohne den Whitespace manuell zu entfernen und die Lesbarkeit auf der Dev-Seite zu opfern?

    
___ answer948724 ___

Das nervt mich auch. Das Beste, was Sie tun können, ist die Verwendung von Tidy, um den Text nachzubearbeiten. Fügen Sie diese Zeile zum Anfang Ihrer Seite hinzu (und bereiten Sie sich darauf vor, die Ausgabepufferung zu verheerenden Sie finden Ihren ersten PHP-Fehler mit der Pufferung der Ausgabe auf):

%Vor%     
___ answer948693 ___

Sie können PHP nicht wirklich sauber ausgeben. Ich würde dringend vorschlagen, eine Art von Templating-Engine wie Smarty zu verwenden. Abgesehen von der sauberen Ausgabe haben Vorlagen-Engines den Vorteil, dass sie eine gewisse Trennung zwischen Ihrem Code und Ihrem Design beibehalten, was die Wartbarkeit und Lesbarkeit komplexer Websites erhöht.

    
___ answer950219 ___

Sind "hübsche" HTML-Ausgaben wichtig? Sie werden den ausgegebenen HTML-Code in einen Editor einfügen, wann immer Sie ihn durchsuchen wollen, und der Editor wird vermutlich die Möglichkeit haben, ihn korrekt zu formatieren (oder Sie müssen die Editoren wechseln!).

Ich finde die Vorschläge, eine zusätzliche Templating-Sprache zu verwenden (weil das genau PHP ist), abscheulich. Sie würden jede Seite verlangsamen, um den ungeraden Platz oder Tab zu korrigieren? Wenn überhaupt, würde ich in die andere Richtung gehen und mich dazu neigen, jede Seite durch ein Tool zu führen, um den verbleibenden Leerraum zu entfernen .

    
___ answer948778 ___

Sie haben einige Male meine Ausgabe zum Debuggen meines generierten HTML-Codes aufgeräumt. Ich habe Registerkarten und Zeilenumbrüche verwendet ... dh;

%Vor%     
___ qstnhdr ___ So halten Sie PHP 'View Source' html output clean [duplizieren] ___ answer3092742 ___

So mache ich es:

%Vor%

Grundsätzlich sind alle meine Bedingungen und Schleifenblöcke in den Ansichten linksbündig. Wenn sie verschachtelt sind, rufe ich innerhalb des PHP-Start-Tags wie folgt ein:

%Vor%

Auf diese Weise sehe ich die Darstellungslogik klar, wenn ich den Code überfliege, und es sorgt für eine saubere HTML-Ausgabe. Die Ausgabe innerhalb der Blöcke ist genau dort, wo ich sie hinstelle.

Eine Warnung: PHP isst Zeilenumbrüche nach dem schließenden Tag %code% . Dies wird zu einem Problem, wenn Sie etwas in einem %code% -Block ausgeben.

%Vor%

Dies wird ausgegeben:

%Vor%

Dies ist eine Art Hack, aber das Hinzufügen eines Leerzeichens nach dem %code% macht es sauber.

Entschuldigung für die übermäßigen Code-Blöcke, aber das nervt mich schon lange. Hoffe, es hilft, nach etwa 7 Monaten.

    
___ answer949058 ___

ich gebe zu, ich mag sauber, schön eingerückt html auch. oft funktioniert es nicht so, wie ich es möchte, aus den gleichen Gründen, die du hast. manchmal werden manuelle Einrückungen und Zeilenumbrüche nicht beibehalten, oder es funktioniert nicht, weil Untereinträge die Einrückung zurücksetzen.

und den Maschinen ist es egal. nicht über Whitespace, nicht über Kommentare, das einzige was ihnen wichtig ist, ist minimiertes Zeug, also sind zusätzliche Whitespaces und Kommentare eigentlich kontraproduktiv. aber es ist so schön %code%

Manchmal, wenn Firebugs nicht verfügbar sind, mag ich es einfach zum Debuggen. Aus diesem Grund habe ich die Möglichkeit, HTML manuell für die aktuelle Anfrage manuell zu aktivieren. Seien Sie vorsichtig: Tidy korrigiert automatisch bestimmte Fehler (abhängig von den Konfigurationsoptionen), sodass es Fehler von Ihnen verbergen kann.

    
___ answer950261 ___

Wenn es in Ihrem speziellen Fall wirklich wichtig ist, könnten Sie das tun ...

%Vor%

Obwohl das meiner Meinung nach schlimmer ist, weil Ihr Code weniger lesbar ist, obwohl der HTML-Code Ihren Wünschen entspricht.

    
___ answer 14719526 ___

Ich bin übergefallen, als ich gelesen habe "Ich bin wirklich neugierig, warum du es für wichtig gehalten hast, HTML zu generieren, das" lesbar "ist. Leider gab es auf dieser Seite (und anderswo) ziemlich viele Leute, die so denken. ..dass der Browser es gleich liest, also warum sich Sorgen machen über die Art, wie der Code aussieht.

Erstens, wenn Sie den "Code" lesbar halten, wird das Debuggen (oder das allgemeine Arbeiten von Ihnen oder einem Entwickler in der Zukunft) in fast allen Fällen viel einfacher.

Darüber hinaus, und vor allem, es wird als Qualität der Verarbeitung bezeichnet. Es ist der Unterschied zwischen einem Yugo und einem Mercedes. Ja, sie sind beide Autos und beide bringen Sie von Punkt "A" nach Punkt "B". Aber der Unterschied liegt in der Qualität des Produkts mit meist was nicht gesehen wird. Es gibt nichts Schlimmeres, als in ein Projekt zu springen und zuerst den Code eines anderen aufzuräumen, nur um den Dingen einen Sinn zu geben, alles, weil sie gedacht haben, dass es immer noch genauso funktioniert und nicht stolz darauf ist, was sie tun. Cleaner Code wird Ihnen IMMER zugute kommen, und jeder andere, der damit zu tun haben muss, sollte ein gewisses Maß an Stolz und Sachkenntnis in Bezug auf das, was Sie tun, zeigen.

    
___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ answer1691676 ___

Das Anzeigen unformatierter Quellen ist sehr ärgerlich mit mehreren verschachtelten Divs und vielen Datensätzen, die jeweils diese Divs enthalten.

Ich bin auf dieses Firefox-Addon namens Phoenix Editor gestoßen. Sie können Ihre Quelle in ihrem Editor sehen und dann auf "Formatieren" klicken und es funktioniert wie ein Zauber!

Link hier

    
___ tag123browser ___ Ein Webbrowser oder Internetbrowser ist eine Softwareanwendung zum Abrufen, Präsentieren und Durchlaufen von Informationsressourcen im World Wide Web. ___ tag123html ___ HTML (Hyper Text Markup Language) ist die Standard-Auszeichnungssprache, die zum Strukturieren von Webseiten und zum Formatieren von Inhalt verwendet wird. HTML beschreibt die Struktur einer Website semantisch zusammen mit Hinweisen für die Präsentation, wodurch sie eine Markup-Sprache statt einer Programmiersprache wird. Die neueste Revision der HTML-Spezifikation ist HTML5.2. ___ answer2091098 ___

Ich stimme zu, eine saubere Quelle ist sehr wichtig, sie ist gut kommentiert, gut strukturiert und die Wartung dieser Quellen, Skripte oder Code ist sehr schnell und einfach. Sie sollten in fragmentieren Ihr Haupt, mit require (vor.php, header.php, title.php, content.php, post.php) an den entsprechenden Stellen, dann schreiben Sie eine neue Funktion unter previous.php, die parsen und Layout HTML-Tags mit der explode-Methode und einem String-Splitter, haben eine ganze Zahl für Tab-Index, und wann immer %code% ist in der Funktion String dann ganzzahl-- wann immer %code% und %code% , aber nicht %code% und %code% sind in der Zeichenkette integer ++ und alles muss richtig platziert werden ...., verwenden Sie eine for-Schleife, um einen anderen String tabindex neu aufzubauen, um den Inhalt ganzzahlig zu tabulieren.

    
___ answer5616516 ___

Versuchen Sie, xtemplate Ссылка es ist nicht so gut dokumentiert wie id, aber ich habe es mit großer Wirkung verwendet

Sie hätten so etwas

%Vor%     
___ answer950289 ___

Es ist mir egal, wie sauber die Ausgabe ist - es ist der ursprüngliche Quellcode, der sie erzeugt hat, der einfach zu analysieren sein muss - für mich als Entwickler.

Wenn ich die Ausgabe untersuchte, führe ich sie ordentlich durch, um sie aufzuräumen, wenn es nötig wäre, um sie gut zu betrachten - aber Prüfer interessieren sich auch nicht für zusätzliche Leerzeichen oder Tabulatoren.

>

Tatsächlich entferne ich Whitespace mit höherer Wahrscheinlichkeit aus dem Ausgabe-HTML, als wenn ich keine Bytes mehr auf die Leitung lege = schnellere Downloads. nicht viel, aber manchmal würde es in einem High-Traffic-Szenario helfen (obwohl natürlich gzipt die Ausgabe mehr hilft).

    
___
Joe Conlin 06.02.2013 00:29
quelle
2

Wenn es in Ihrem speziellen Fall wirklich wichtig ist, könnten Sie das tun ...

%Vor%

Obwohl das meiner Meinung nach schlimmer ist, weil Ihr Code weniger lesbar ist, obwohl der HTML-Code Ihren Wünschen entspricht.

    
Fenton 04.06.2009 12:32
quelle
2

Es ist mir egal, wie sauber die Ausgabe ist - es ist der ursprüngliche Quellcode, der sie erzeugt hat, der einfach zu analysieren sein muss - für mich als Entwickler.

Wenn ich die Ausgabe untersuchte, führe ich sie ordentlich durch, um sie aufzuräumen, wenn es nötig wäre, um sie gut zu betrachten - aber Prüfer interessieren sich auch nicht für zusätzliche Leerzeichen oder Tabulatoren.

>

Tatsächlich entferne ich Whitespace mit höherer Wahrscheinlichkeit aus dem Ausgabe-HTML, als wenn ich keine Bytes mehr auf die Leitung lege = schnellere Downloads. nicht viel, aber manchmal würde es in einem High-Traffic-Szenario helfen (obwohl natürlich gzipt die Ausgabe mehr hilft).

    
Alister Bulman 04.06.2009 12:39
quelle
1

Das Anzeigen unformatierter Quellen ist sehr ärgerlich mit mehreren verschachtelten Divs und vielen Datensätzen, die jeweils diese Divs enthalten.

Ich bin auf dieses Firefox-Addon namens Phoenix Editor gestoßen. Sie können Ihre Quelle in ihrem Editor sehen und dann auf "Formatieren" klicken und es funktioniert wie ein Zauber!

Link hier

    
user205392 07.11.2009 01:56
quelle
1

Versuchen Sie, xtemplate Ссылка es ist nicht so gut dokumentiert wie id, aber ich habe es mit großer Wirkung verwendet

Sie hätten so etwas

%Vor%     
Joseph King 11.04.2011 03:34
quelle
1

Ich stimme zu, eine saubere Quelle ist sehr wichtig, sie ist gut kommentiert, gut strukturiert und die Wartung dieser Quellen, Skripte oder Code ist sehr schnell und einfach. Sie sollten in fragmentieren Ihr Haupt, mit require (vor.php, header.php, title.php, content.php, post.php) an den entsprechenden Stellen, dann schreiben Sie eine neue Funktion unter previous.php, die parsen und Layout HTML-Tags mit der explode-Methode und einem String-Splitter, haben eine ganze Zahl für Tab-Index, und wann immer </ ist in der Funktion String dann ganzzahl-- wann immer < und > , aber nicht /> und </ sind in der Zeichenkette integer ++ und alles muss richtig platziert werden ...., verwenden Sie eine for-Schleife, um einen anderen String tabindex neu aufzubauen, um den Inhalt ganzzahlig zu tabulieren.

    
Kevin Harris 19.01.2010 04:35
quelle

Tags und Links