6 Stimmen

Ist es in Ordnung, eine Website mit vielen PHP-Includes zu versehen?

Bislang habe ich etwa 3 PHP-Includes auf meiner Website.

<?php include("includes/header.html"); ?>

Gibt es einen Grund, warum ich nicht eine ganze Menge davon hinzufügen sollte?

8voto

Asherah Punkte 18163

Nicht wirklich. Sie werden recht häufig und großzügig verwendet - allerdings meistens, um andere PHP-Dateien einzubinden. Diese PHP-Dateien schließen dann oft andere ein, so dass es wirklich keine Bedenken gibt.

Übrigens, wenn Sie diese Technik verwenden, um andere PHP-Dateien einzubinden (z.B. Bibliotheksdateien mit Funktionen, die Sie verwenden), ist es eine gute Idee, die require_once (es gibt auch include_once als auch einfach require ); require verursacht einen Fehler, wenn sein Argument nicht gefunden wird, und versucht nicht, die Seite weiter zu rendern. require_once (und include_once ) wird dieselbe Datei nicht mehr als einmal einbinden, auch wenn Sie die require_once (oder include_once ) aus verschiedenen Orten.

6voto

Tim Post Punkte 32750

Ich vermute, dass Sie etwas Ähnliches tun:

<?php
  include("session_and_headers.php");
  include("top_nav.html")
  include("right_sidebar.html");
?>

 ... actual content generation code ...

<?php
  include("footer.html");
  include("js_loader.php");
?>

Bei einfachen statischen Websites oder in Situationen, in denen die Benutzer nur mehrere unterschiedliche Ansichten haben, ist daran nichts auszusetzen.

Aber was passiert, wenn Sie eine etwas andere Seitenleiste nur auf bestimmten Seiten verwenden möchten? Wo platzieren Sie die Logik, um das zu bestimmen, damit es für die nächste Person, die Ihren Code erbt, offensichtlich ist?

Wenn Sie in diese Art von Komplexität zu bekommen, empfehle ich mit dem MVC-Ansatz zu gehen (auch wenn Sie meist die Ansicht/Controller-Aspekte davon verwenden).

Wenn Sie eine nn-Seiten-Site in PHP erstellen, die nur gemeinsame Elemente enthalten muss, dann gibt es keinen Grund, die Dateien nicht einfach nach Bedarf einzubinden.

Betrachten Sie das nicht so sehr als ist es schlecht für PHP betrachten Sie es eher als ist es schwer zu pflegen ?

1voto

bcosca Punkte 17013

Es gibt einen Vorteil, objektorientierten Code zu schreiben und auf PHP 5 zu aktualisieren: Sie können eine "Tonne von Includes" vermeiden, indem Sie Klasse Autoloading .

0voto

StasM Punkte 10085

Der einzige Nachteil ist die Leistung - jedes Include kostet Sie Systemaufrufe. Mit 3 oder 10 ist das alles eine Kleinigkeit, es sei denn, Ihr Traffic ist riesig, aber etwa 100 kann ein Problem sein. Die Lösung ist, einen Bytecode-Cache (wie apc) zu verwenden und die Variable realpath_cache_size auf einen höheren Wert zu setzen (der Standardwert reicht für etwa 100-200 Dateien, abhängig von der Pfadlänge). Abgesehen davon ist das kein großes Problem.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X