• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

html Ausgabe bedingen durch if ohne echo

Status
Für weitere Antworten geschlossen.

Lenchen

Neues Mitglied
Hallo
es geht um folgendes:
Ein spezieller html-code soll nur angezeigt werden, wenn eine If-Bedingung erfüllt ist.
Allerdings möchte ich nicht den ganzen Code in ein echo packen, da ich keine Lust habe, alle " zu escapen und es auch irgendwie schöner finde, wenn reiner html-code auch so bleibt und nicht erst vom Server verarbeitet wird.
Die einzige Möglichkeit, die mir eingefallen ist, wäre den Code per include() einzufügen. Das ist aber eigentlich unsinnig, da ich den Code nur auf dieser einen Seite brauche. Gibt es weitere Möglichkeiten?
 
Werbung:
Werbung:
PHP:
<?PHP

// hier phpcode

?>
hier html code

<?PHP
// wieder phpcode

geht auch
 
Allerdings möchte ich nicht den ganzen Code in ein echo packen, da ich keine Lust habe, alle " zu escapen
Dafür hat man die ' erfunden. Alle Strings gehören zwischen ein ' und ein '.

und es auch irgendwie schöner finde, wenn reiner html-code auch so bleibt und nicht erst vom Server verarbeitet wird.
Hier werden templatesysteme genutzt, schau mal nach hier: Smarty : Template Engine

Die einzige Möglichkeit, die mir eingefallen ist, wäre den Code per include() einzufügen.
Include ist dafür da um php code zu laden, du suchst wohl PHP: file_get_contents - Manual ?
 
Werbung:
Ehrlich?
das heißt ich kann schreiben
PHP:
<?php
If (isset(bla))
{
?>
<htmlcode attribut="blabla">
...
...
</htmlcode>
<?php
{
?>
 
Werbung:
Werbung:
Ist beides das Gleiche. Wenn du mit Single-Quotes dein echo startest musst du die " nicht escapen.
In diesem Falle ja, aber generell nein. Schreibst Du eine Variable in den Linktext wird sie im zweiten Fall nicht aufgelöst und der Variablenname mit dem $ wird ausgegeben.
an sollte Single Quotes nicht nur aus Faulheit benutzen, sondern sich dessen bewusst sein, was man tut.

Grüße,
-Efchen
 
sagte ich bereits. der tipp mit dem template system kam wohl auch nicht an ;)
Kam beides an und ich danke dir für deine Antwort.
Zu den Singlequotes:
Mitten in meinem html-code steckt eine Variable. Ich hatte um diese eine variable darzustellen
PHP:
<?php echo "$bla"; ?>
genutzt.
Erst hinterher ist mir eingefallen, das es schöner wäre, wenn das ganze nur unter einer speziellen bedingung dargestellt wird.
Mit " hätte ich jetzt alle " escapen müssen (relativ viele, da es sich um ein Formular handelt) mit ' wär meine Variable nicht mehr dargestellt worden.
Zum Template-System: Ehrlich gesagt habe ich das ganze nicht wirklich verstanden, was da steht mein Englisch ist leider nicht so gut :(. Und ich denke für meine kleine Anwendung wäre es auch etwas übertrieben, das zu installieren. Aber ich werde es im Hinterkopf behalten, falls ich mal wieder auf so ein Problem treffe.
Vielen dank an alle!
 
PHP ist schon eine prima Template-Engine, Smarty etc. sind überflüssig. So sehen meine Views immer aus (Short Tags und Alternative Syntax):
PHP:
<? if (isset($foobar)): ?>
<p>
   <?= $foobar ?>
</p>
<? endif ?>
 
Werbung:
Ich find persönlich schöner, wenn der PHP code mit HTML Unterbrochen wird, folgende schreibweise anzuwenden:

PHP:
<?php if ($bedingung): ?>
HTML
<?php elseif ($bedingung2): ?>
HTML
<?php endif; ?>

Edit

Sorry Leute, habe nicht gesehen das es eine Seite 2 gibt oO
 
Ja es benutzen viele noch Template-Engines, aber es werden immer weniger. Aus heutiger Sicht kann ich sagen, dass es Schwachsinn war auf Template-Engines zu setzen. Das ging aus dem inneren Bedürfnis heraus Funktion von Ansicht zu trennen. Genau wie man HTML (heute) vom Aussehen (CSS) trennt und JavaScript vom Aussehen (CSS) und HTML.

Nun gibt es aber MVC (die Idee dahinter ist steinalt), welches beschreibt dass man sein Verhalten (C) vom Aussehen (V) und Datenabfragen (M) trennt. Und weil das so gut funktioniert und PHP schon immer dazu gedacht war in HTML eingebettet zu werden (das war die einzig neue Idee in PHP) kann man seine Views (V) direkt in PHP schreiben. Die Vorteile sind folgende:
  • Die Sprache bietet alle Möglichkeiten
  • Man muss nicht die Sprache einer Template-Engine lernen
  • Es ist schneller, denn PHP wird schneller interpretiert, als PHP selbst je ein Template interpretieren könnte.

Und um dir zu beweisen, dass wirklich viele "Templates" in PHP schreiben habe ich mal Ausschnitte der Dokus der großen Frameworks hinzugefügt:
(bei allen dreien runter zu den Views scrollen)
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben