Ist das sauberer Stil?
ingobar
- php
0 Bio0 Richard0 Jeena Paradies1 Jonathan0 dedlfix
0 Siddy0 dedlfix
0 Siddy
0 Johannes Zeller
0 Ingo Turski
Hallo zusammen,
wie manche vielleicht mitbekommen haben, mache ich gerade meine ersten Gehversuche mit php zusammen mit MySQL.
Jetzt habe ich ganz erstaunt im Internet Beispiele gefunden, wo in php-Dateien einfach nur HTML steht und manches nur per php generiert wird. Ist das sauberer Stil? Gibt es mit so etwas Probleme?
Hier ein Auszug:
<?php
include 'inc/inc_config.php';
include 'prgheader.php';
?>
<script type="text/javascript">
</script>
</head>
<body>
<?php
include 'header.php';
?>
<div id="content">
<h2>Neue Klasse</h2>
usw.
Sup!
Vielleicht solltest Du Dir vorerst über etwas anderes Gedanken machen als über "Stil".
Nur so als Vorschlag. Stil kommt dann von selbst, wenn man sich wie Du hin und wieder Gedanken drüber macht.
Gruesse,
Bio
Hallo ingobar,
Hier ein Auszug:
<?php
include 'inc/inc_config.php';
include 'prgheader.php';
?>
<script type="text/javascript">
</script>
</head><body>
<?php
include 'header.php';
?>
<div id="content">
<h2>Neue Klasse</h2>
Wieso soll das schlechter Stil sein? Ist doch besser, als wenn da vor jeder Zeile ein "echo" steht.
Beste Grüße
Richard
Hallo,
Sorry für die Polemik, aber PHP ist per Definition schlechter Stil ;-)
Grüße
Jeena Paradies
Jetzt habe ich ganz erstaunt im Internet Beispiele gefunden, wo in php-Dateien einfach nur HTML steht und manches nur per php generiert wird. Ist das sauberer Stil? Gibt es mit so etwas Probleme?
Es ist sauberer, als jede einzelne Zeile oder geanze Bereiche mit echo auszugeben, noch weit sauberer sind allerdings Templates u.ä., sodass du in deinem PHP nachher keinen HTML-Code mehr drin hast und diesen ausschließlich aus externen Dateien oder ähnlichem holst.
Hallo Jonathan,
Jetzt habe ich ganz erstaunt im Internet Beispiele gefunden, wo in php-Dateien einfach nur HTML steht und manches nur per php generiert wird. Ist das sauberer Stil? Gibt es mit so etwas Probleme?
Es ist sauberer, als jede einzelne Zeile oder geanze Bereiche mit echo auszugeben, noch weit sauberer sind allerdings Templates u.ä., sodass du in deinem PHP nachher keinen HTML-Code mehr drin hast und diesen ausschließlich aus externen Dateien oder ähnlichem holst.
Bei Template-Systemen sollte man IMHO nicht vergessen Smarty zu erwähnen. :-)
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Bei Template-Systemen sollte man IMHO nicht vergessen Smarty zu erwähnen. :-)
Die Vokabel am Ende des Satzes sollte aber "anzubeten" sein.
Smarty, geheiligt seien Deine Modifikatoren, Funktionen und
Konstrukte, sowie dein Cache und deine Erweiterbarkeit.
;)
Hallo Jonathan,
Es ist sauberer, als jede einzelne Zeile oder geanze Bereiche mit echo auszugeben, noch weit sauberer sind allerdings Templates u.ä., sodass du in deinem PHP nachher keinen HTML-Code mehr drin hast und diesen ausschließlich aus externen Dateien oder ähnlichem holst.
Im Prinzip hast du Recht. Aber bei kleineren Programmen ist ein Template-System manchmal ein bisschen »Overkill«.
Schöne Grüße,
Johannes
echo $begrüßung;
Jetzt habe ich ganz erstaunt im Internet Beispiele gefunden, wo in php-Dateien einfach nur HTML steht und manches nur per php generiert wird. Ist das sauberer Stil? Gibt es mit so etwas Probleme?
Probleme gibt es damit nicht direkt, denn PHP ist genauso erfunden worden. In den HTML-Text werden die PHP-Teile eingefügt. Um aus dem HTML-Modus in den PHP-Modus und wieder zurück zu gelangen bedient man sich <?php und ?> (nebst drei anderer Methoden). Damit kommt man recht schnell zu Seiten mit veränderlichen Teilen. Man schreibt zuerst das HTML und bettet dann den PHP-Code ein. Zumindest für einfache Geschichten ist das ein gangbarer Weg. Andere Systeme gehen andere Wege, indem sie direkt im Programmcode starten und als Ausgabe komplette Dokumente generieren. Welche von beiden Vorgehensweise nun wie zu bewerten ist, ist persönliche Geschmackssache.
Viel wichtiger, finde ich, ist es, sich nicht in seinem eigenen Programmierten zu verheddern. Aufgaben sollten klar getrennt sein, z.B. in Funktionen oder Klassen gekapselt werden. Sie sollten dabei nur an klar definierten Schnittstellen Daten entgegennehmen und zurückgeben, und z.B. nicht irgendwelche Werte im globalen Adressraum verändern.
Zuallererst sollte man jedoch Wert auf sichere Programmierung legen und dann erst auf Stil. Eine saubere Struktur in seinen Code zu bringen, ist bei der Aneignung von Stil nicht hinderlich.
Die beiden wichtigsten Dinge sicherer (PHP-)Programmierung sind
echo "$verabschiedung $name";
Wo wir schon bei dem Thema sind. Es ging ja unter anderem darum vor jede Zeile ein "echo / print" zu schreiben.
Was haltet ihr hiervon:
<?php
if($x == 1){
?>
<table>
<tr><td>Eine Zelle</td></tr>
</table>
<?php
}
if($x == 2){
?>
<table>
<tr><td>Eine Zelle</td></tr>
<tr><td>Noch eine Zelle</td></tr>
</table>
<?php
}
?>
So könnte man sich im Prinzip generell irgendwelche lästigen "echo - Zeilen" sparen und PHP und HTML relativ gut in einem einzigen Dokument trennen.
echo $begrüßung;
Wo wir schon bei dem Thema sind. Es ging ja unter anderem darum vor jede Zeile ein "echo / print" zu schreiben.
<?php
if($x == 1){
?>
<table>
<tr><td>Eine Zelle</td></tr>
</table>
<?php
}
?>
Wenn du das so machen möchtest wäre die alternative Syntax für Kotrollstrukturen zu empfehlen.
So könnte man sich im Prinzip generell irgendwelche lästigen "echo - Zeilen" sparen und PHP und HTML relativ gut in einem einzigen Dokument trennen.
Außerdem gibt es noch die Heredoc-Syntax zum Notieren von Strings.
Wenn du eine konkrete Empfehlung meinerseits vermisst ... dies ist so beabsichtigt.
echo "$verabschiedung $name";
Ich werde zwar keine der Alternativen nutzen (genauso wenig, wie ich die von mir erwähnte Möglichkeit nutzen würde :) ) aber interessant zu wissen ist es auf jeden Fall.
Ich werde lieber weiterhin HTML und PHP strikt trennen.
Hallo Siddy,
<?php
if($x == 1){
?>
<table>
<tr><td>Eine Zelle</td></tr>
</table>
<?php
}
if($x == 2){
?>
<table>
<tr><td>Eine Zelle</td></tr>
<tr><td>Noch eine Zelle</td></tr>
</table>
<?php
}
?>
Das finde ich, auch mit der von dedlfix erwähnten alternativen Kontrollstruktursyntax, sehr unübersichtlich. Dadurch, dass die PHP-Tags und die Blockklammern der if-Anweisung »kreuzverschachtelt« werden, kann man nicht mehr so klar erkennen, wo der Block einer if-Anweisung endet.
Schöne Grüße,
Johannes
Hi,
Jetzt habe ich ganz erstaunt im Internet Beispiele gefunden, wo in php-Dateien einfach nur HTML steht und manches nur per php generiert wird. Ist das sauberer Stil? Gibt es mit so etwas Probleme?
Hier ein Auszug:
<?php
include 'inc/inc_config.php';
include 'prgheader.php';
das ist nicht ganz sauber so. Was ist, wenn 'inc/inc_config.php' nicht geladen werden kann? Da wäre ein require vermutlich sinnvoller. Und falls in 'prgheader.php' gar kein PHP-Code stecken sollte, ist das Parsen durch include unnötig. Außerdem wird diese Datei sehr wahrscheinlich Ausgaben generieren und da halte ich es auch für wenig sinnvoll, sie aufrufbar zu machen.
freundliche Grüße
Ingo