PHP include innerhalb einer Variablen
Ich habe eine Funktion, die Steuerung der Ausgabe von meine Seite:
$page = "<div class='media-title'><h2>{$title}</h2></div><div class='media-image'>{$image}</div><div class='media-desc'>{$desc}</div>";
Ich würde gerne eine Datei "box.php" innerhalb von html definiert ist, in der $page
variable. Ich versuchte dies:
$page = "<div class='media-title'><h2>{$title}</h2></div><div class='media-image'>{$image}</div><div class="inlinebox">" . include("box.php"); . "</div><div class='media-desc'>{$desc}</div>";
... aber es hat nicht funktioniert. Wie kann ich eine php include innerhalb einer Variablen?
InformationsquelleAutor mattz | 2010-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würde ich generell vermeiden so eine Sache, obwohl.
Eigentlich ist die Frage zu beantworten, denken Sie nur, was Sie sehen, für einen Moment... er ist
echo
ing einschließen.aber kann ich tun, dass innerhalb einer Variablen-definition, wie in meiner Frage? Wenn ich das mache bekomme ich eine Fehlermeldung:
Parse error: syntax error, unexpected T_ECHO in...
Ich habe aktualisiert die Antwort, um es offensichtlich, dass es funktioniert in der Variablen Zuordnung. Es gibt nichts grundlegend falsch mit etwas wie das zu tun, aber es wird dann versucht, dieser Datei enthaltenen abhängig von globalen oder lokalen Bereich Daten. Im Allgemeinen sind Sie besser dran mit einem etwas Poliert-system, kann die Zusendung der Vorlagen-Parameter, Platzhalter ersetzen, und so weiter.
InformationsquelleAutor Matthew
vom php.net
Ich bin mir nicht sicher, was zu tun ist hier, dass die Variablen "$page " war bereits innerhalb einer Funktion.
Hoffentlich werden die Kommentare jetzt beleuchten das Thema für Sie.
er funktioniert Perfekt 🙂 danke für Eure Zeit und Bemühungen
InformationsquelleAutor Stephen
Erste, nicht mit einem Semikolon von innen die Anweisung.
Zweite, wickeln Sie die include-Anweisung in Klammern.
Schließlich: In der "box.php" Datei haben, müssen Sie Folgendes tun:
EDIT: Einige Infos über den Aufruf Rückgabe außerhalb der Funktion contest: PHP - Handbuch- Rückkehr.
Ich versuchte dies aber nichts zurück. Um es zu testen, legte ich
<?php ob_start(); echo "Testing"; return ob_get_clean(); ?>
als der Inhalt meiner box.php und es hat nichts tun. Ich entfernte die mit ob_start und ob_clean und ausgegeben, die das Wort "Test" 4-mal. Zweimal in der überschrift, einmal oben wo es sollte und einmal unten, wo er sollte.InformationsquelleAutor Dereleased
Edit:
Weiß nicht, ob dies nützlich ist, aber ich denke, dass mit einer Datei um ein Stück HTML -, ist nicht eine gute option. Es ist nicht skalierbar. Sie könnten versuchen, mit so etwas wie MVC. Man könnte Fragen Sie Ihren controller zu renderize der Inhalt von dem, was Sie wollen.
Versuchen zu entkoppeln code.
Empfehle ich Ihnen, einen Blick auf einige MVC Framework, meiner Meinung nach, das beste ist CakePHP.
Danke für die Antwort, aber ich denke, das ist ein wenig über meinem Kopf. Ich bin sicher, dass dies ein sehr guter Weg, aber ich weiß nicht, was die Hälfte der Dinge, die Sie sprechen sind 🙂
haha, ok. Das ist ein guter Abschluss. Ich Stimme mit Ihnen überein, dass für kleine Projekte mit einem Rahmen ist keine gute Entscheidung. Aber, ist gut, die Dinge haben "organisiert". Ich habe auf der Suche für ein kleines routing-framework, aber nicht fündig wurde. Dann codiert ich meine eigene, für diese Art von Situationen. Wichtig ist code "normalen" Dinge nur einmal, und dann die Wiederverwendung dieser Dinge.
Vielleicht nicht heute, vielleicht nicht morgen, aber Sie sollten Lesen, auf MVC. Es wird die Art und Weise ändern Sie den code.
Akronym Fehler: Wenn dein controller ist "das rendering" etwas, dann ist es nicht "MVC" (oder eigentlich PMVC). Es entspricht MVP dann. (Model-View-Presenter)
InformationsquelleAutor santiagobasulto