Beste Weg, um wieder html aus php-Funktion?
Also fragte ich eine ähnliche Frage schon gestellt und ich bin nur mehr verwirrt, nun, so werde ich Sie bitten, es in einer anderen Art und Weise...
Was ich versuche zu tun, ist Abstrakt meine php und setzen Sie die bits von html, die in meinem validator als Fehler-Nachrichten, die in Funktionen, die das html an die Stelle, wo Sie benötigt werden, in die Seite.
Was ich jetzt haben, ist:
<section>
<?php
if($errMsg)
{
errMsg();
}
?>
</section>
<?php
function errMsg()
{
?>
<section>
<p>O crap! There was an error</p>
</section>
<?php
}
?>
Aber in meinem bereits erwähnten Frage, mir wurde gesagt, es zu tun auf diese Weise ist ein 'dirty hack' und es ist besser, Sie verwenden in Situationen wie dieser. Aber zurück, ich müsste die Zuweisung der Rückkehr html-Code in eine var und zu tun, dass ich brauchen würde, um den html-Code in einen string. Ich würde eher zu vermeiden, setzen mehr als zwei Zeilen html-Code in eine Zeichenfolge, weil der Schmerz in den Hintern Zahl der Zitate notwendig, so zu tun.
Also ich denke, entweder nutze ich die heredoc-syntax oder mit ob_start/ob_get_clean Funktionen. Was ich wissen möchte ist.
1 kann ich sogar brauchen, um die Mühe mit abstrahierenden mein code wie dieser?
2 Wenn ja, welcher Weg der best practices Weg, es zu tun? Und/Oder
3 Sollte ich einfach aufgeben, web-Entwicklung, und gehen Sie zurück zu pizza-Lieferung? :-\
InformationsquelleAutor Matt Whitehead | 2012-08-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde nicht wieder HTML. Einfach wieder die Fehlermeldung von der Funktion und erstellen Sie das html in einen besser geeigneten Platz. Zum Beispiel der in der Vorlage.
InformationsquelleAutor moodh
Werfen Sie einen Blick auf das Zend framework http://framework.zend.com/manual/en/zend.application.quick-start.html leiten Sie Fehlermeldungen, die nicht gefangen auf einen Fehler-handler, die dann verwendet seine eigene Ansicht zum Rendern der Fehler.
Oder w/o-framework:
Am Anfang der Datei ist in Ordnung, aber ich würde nicht mischen HTML mit PHP direkt, dh mit <<<EOF oder schließende php-tags HTML ist ärger, wenn es zu einem re-design. Denken Sie sich, wenn Ihre Codierung - diese machen mir das Leben schwer, wenn es um das re-Design meiner website? Die wahrscheinliche Antwort, die deiner Beispiele ist ein klares ja 😉
Danke für deine Antwort. Nun, wenn das mischen der PHP-in den HTML schließende tags ist eine schlechte Idee. Wie würden Sie eine Ausgabe, die nichts von PHP zu HTML? Zum Beispiel, wenn ein Formular kam zurück, die vom server mit einer Fehlermeldung, wie würden Sie halten sogar die Eingabe des Benutzers in die Eingabefelder ein, ohne mit so etwas wie value="<?php $_POST['username'] ?>"?
Ich würde empfehlen, die Zend_Form-Klasse übernimmt dies für Sie (oder eine ähnliche Klasse) oder erstellen Sie Ihre eigene Klasse, die behandelt eine Spezifikation gebaut und die Ausgabe für Sie. Auf diese Weise haben Sie eine Menge Kontrolle über Dinge wie Filterung, Validierung etc. Es ist nicht unbedingt schlecht-Ausgang plain-Variablen in PHP-code in den HTML-Code, aber wenn Sie anfangen, Logik (wie if-Anweisungen, for-Schleifen usw.), es wird ein Alptraum zu halten, wenn es um das re-Design und führen wird, um duplizierten code (das ist immer schlecht!)
Ihre Logik nur klatschte mir in die Stirn und gab meine eine Eingebung. Anstatt also mit einer if-Anweisung in meine form, um die Ausgabe etwas, wenn eine Variable wahr ist, oder das aufrufen einer Funktion von dort aus. Ich erstellen Sie eine Klasse in ein separates Skript erstellen Sie ein Objekt auf Basis dieser Klasse, und rufen Sie die entsprechende Methode von dem Objekt, das zu tun, was ich tun muss, an der Stelle, wo der if-Anweisung war? Sorry, wenn das macht keinen Sinn, aber ich bin noch auf Arbeit greifen, wie zu tun ist OOP in PHP. OOP in Actionscript 3 war viel einfacher meiner Meinung nach...
InformationsquelleAutor williamvicary
1: müssen Sie nicht, aber Sie können, wenn es richtig getan.
2: um dies Zu tun, empfehle ich Ihnen, die
EOF
im PHP-error func, sieht es wie folgt aus :Du hast Recht, aber alle verstehen, die mit dem EOF 😉
Das ist eine riesige Annahme.
InformationsquelleAutor PoulsQ
Können Sie einfach diesen:
In der Regel, ich versuche mein bestes, nicht zu echo aus HTML-Code über PHP. Warum? Denn wenn ein designer braucht, um auf meinem code, ich will nicht, dass er/Sie sich Gedanken darüber, was meine HTML-Funktionen ausspucken.
InformationsquelleAutor Wayne Whitty
Bewegen Sie den html-code in einer separaten Datei, error.php. Nach, die Sie gerade erfassen der Ausgabe:
InformationsquelleAutor Federkun
First off, ich Stimme mit der Beiträge vor. Nicht formatieren, einfach mit der Funktion zurückgeben, die nackten Fehler Meldung und wenn Sie zu formatieren müssen Sie es entsprechend, wo Sie wollen, um es anzuzeigen.
Zweitens, finde ich immer, dass es sinnvoll ist, werden in der Lage, Fehler und testen von Botschaften auf und schnell ab. Da die Mehrheit der mein code wird Objekt-orientiert und könnte ich will nur Nachrichten, die knallen von einem Objekt zu einer Zeit, normalerweise habe ich so etwas in meinem Unterricht:
Ich Rutsch ein
private
element, in dem ich verlassen, alsfalse
standardmäßig. Wenn ich Debuggen müssen, oder änderungen machen, habe ich es zutrue
und alle meine Fehler/Meldungen sind ordentlich auf dem Bildschirm angezeigt. Ich weiß, dass das nicht direkt deine Frage zu beantworten, aber ich finde, dass es so praktisch es sein könnte, es lohnt sich für Sie, wenn Sie beginnen. Es ist sicherlich beats auskommentieren und dann die Kommentarzeichen potenziell Dutzende von Nachrichten. Lassen Sie diese Ausgänge in das Objekt, ohne sich Gedanken und haben Ihnen zeigt alle Details, die Sie brauchen.InformationsquelleAutor Fluffeh
Wenn Sie zu irgendeinem Zeitpunkt die Anzahl der Fehler, dann tun Sie dies
Dies ist im Fall Sie sich nicht mit der Objekt-orientierten Art und Weise. Und die Annahme, dass alle Fehler sind nicht fatal und gefangen in
try {} catch () {}
Blöcke.InformationsquelleAutor ALeX inSide