Forum: PC-Programmierung Inlline PHP vs. echo-Blöcke


von Lisa (Gast)


Lesenswert?

Hallo zusammen

Ich hätte mal eine Frage, welche Gründe für die Methode "inline-php" 
oder dagegen bzw. was für grosse echo-Blöcke spricht:

Methode Inline:
1
<html>
2
    <head></head>   
3
    <body>  
4
        <div>This is an example. I know that it violates some "dont's"</div>        
5
        Today is a: <?php echo date("l"); ?>    
6
    </body>
7
</html>

Methode "echo"
1
<?php echo"
2
    <html>
3
        <head></head>       
4
        <body>      
5
            <div>This is an example. I know that it violates some dont's</div>          
6
            Today is a: " . date("l") . "       
7
        </body>
8
    </html>
9
";
10
?>


Ich persönlich finde die erste Variante übersichtlicher, weiss aber 
nicht, welche Vor und Nachteile sie birgt. Welche Methode bietet sich 
eurer Meinung eher für "grössere", kompliziertere Seiten an?

Liebe Grüsse
Lisa

von René K. (cyprius)


Lesenswert?

Für größere Seiten sollte man eher auf eine Templating-Engine 
ausweichen, z.B. Smarty.
Für kleinere Ausgaben finde ich Methode 1 wesentlich angenehmer, da man 
mit den Anführungszeichen nicht so schnell durcheinander kommt. Der 
Autoformatter von Eclipse verschluckt sich außerdem auch schonmal an 
Methode 2.

von peter (Gast)


Lesenswert?

Variante 1 meist gekennzeichnet durch phtml (mit PHP gespicktes HTML)
Vorteil: auch ein Grafiker kann theoretisch die Seiten in einem HTML 
WYSIWYG Editor bearbeiten.

Variante 2 finde ich eher schlecht, wenn der überwiegend Code verwendet 
wird um eine Ausgabe zu erzeugen. Wenn Gestaltung und Code getrennt 
wird, hat man m.E. mehr Möglichkeiten auch mal "modulweise" was zu 
wechseln.

Meine bevorzugte Konstellation:

Model: php
View: phtml
Controller: php

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.