mehrere includes?
Klaus
- php
hallo, vielleicht eine etwas merkwürdige aber hoffentlich einfach beantwortbare frage:
wie kann ich mehrere dateien includen ohne jedesmal include schreiben zu müssen?
also statt
<?php include ("datei1.txt"); include ("datei2.txt"); ?>
so etwas wie
<?php include ("datei1.txt", "datei2.txt"); ?>
letzteres funktioniert nicht und das werden mir sicher auch die experten bestätigen können. wie ists richtig?
Klaus
Nabend,
wie kann ich mehrere dateien includen ohne jedesmal include schreiben zu müssen?
Mit einer Schleife und einem Array mit den Dateinamen.
wie ists richtig?
Ich würde schon die von dir als erstes geschriebene Variante nehmen. Was stört dich so sehr daran, es ist doch schön und übersichtlich.
Bis denne,
Hi,
die Frage ist gar nicht so merkwürdig aber einfach zu beantworten.
wie kann ich mehrere dateien includen ohne jedesmal include schreiben zu müssen?
Du schreibst Dir eine Funktion, die als Argument eine Liste, bzw. Array mit Dateinamen erwartet.
Du schreibst Dir eine Funktion, die als Argument eine Liste, bzw. Array mit Dateinamen erwartet.
was dann aber auch nicht richtig kürzer und praktischer wird - oder?
Klaus
was dann aber auch nicht richtig kürzer und praktischer wird - oder?
Doch, warum nicht? Bsp: include_multi($datei1, $datei2, $datei3);
was dann aber auch nicht richtig kürzer und praktischer wird - oder?
Doch, warum nicht? Bsp: include_multi($datei1, $datei2, $datei3);
du brauchst doch dann aber noch die definition der variablen und damit wirds schon wieder länger :-(
Klaus
Nö, brauchst Du nicht.
include_multi("datei1", "datei2", "datei3");
function include_multi($files)
{
foreach ($files as $file) {
include_once($file);
}
}
Hello,
also mein Editor hat eine Copy & Paste Funktion und kennt auch Textbausteine. Da ich davon ausgehe, dass Du sowieso händisch entscheiden musst, welche Librairies zum Include herangezogen werden, kopierst Du Dir einfach den ganzen Block mit allen Inclusions ins Script und musst dann nur die Auskommentierungen wegnehmen.
Das hat den Vorteil, das man keine Inclusions vergisst und die Reihenfolge auch immer passend ist.
Alternativ kannst Du Dir einen eigenen Error-Handler schreiben. Wenn eine Funktion, die aufgerufen wird, nicht da ist, wird ja ein Error ausgelöst. Dieser veranlasst dann den Errorhandler in einer Datenbank nach der fehlenden Funktion zu suchen und diese hinzuzuladen und die Befehlsausführung in die Zeile vor dem Fehler zurücksetzen.
Dann musst Du nur noch die IchBinFaul.inc.php includieren und alles wird gut.
<i>Und wenn die Funktion in der Datenbank auch nicht steht, dann kannst Du ja einen Auto-Post mit dem ganzen Code im Body an das Forum hier programmieren. Wir suchen dann den Fehler, oder? </i>
Liebe Grüße aus http://www.braunschweig.de
Tom
include_multi("datei1", "datei2", "datei3");
function include_multi($files)
{
foreach ($files as $file) {
include_once($file);
}
}
also ich finde, dass in diesem fall
include ("datei1.txt"); include ("datei2.txt");
doch kürzer ist
Klaus
include ("datei1.txt"); include ("datei2.txt");
klar, das ist wirklich kürzer als mein Vorschlag. Aber es kommt immer auf die Zahl der Dateien an und was Du genau vorhast. Bei mehr als 5 Includes kann sich eine eigene Funktion lohnen, wobei man ja außerdem noch mehr Parameter einrichten könnte, z.B. um irgendwas abhängig von einer Variable zu machen:
Zufällige Includes, Fallschleife anhand URL-Parameter (nützlich für Templates), etc. blabla.
MfG
Danny
foreach(array("1.php","2.php","3.php") as $x) include($x);
foreach(array("1.php","2.php","3.php") as $x) include($x);
hey, das ist ja mal ein kurzer ansatz. eigentlich hatte ich gehofft, dass es eine möglichkeit gibt, verschiedene dateien per ";" oder "&" oder "," oder sonstwie einfach aneinanderzuhängen. bei deinem beispiel könnte man sich ja sogar noch das php sparen und am ende nur einmal anhängen.
Hello Klaus,
foreach(array("1.php","2.php","3.php") as $x) include($x);
hey, das ist ja mal ein kurzer ansatz. eigentlich hatte ich gehofft, dass es eine möglichkeit gibt, verschiedene dateien per ";" oder "&" oder "," oder sonstwie einfach aneinanderzuhängen. bei deinem beispiel könnte man sich ja sogar noch das php sparen und am ende nur einmal anhängen.
Wenn Du nicht antwortest, kann man Dir auch nicht helfen.
Müssen den jedesmal alle Dateien included werden oder nur einige?
Wenn alle, dann stellst Du die einfach in ein Verzeichnis und includest eben alle, die eine Dir-Scans-Funktion findet. Sonst musst Du eben ein Verzeichnis mit Links auf die in Frage kommenden Files anlegen un das einbinden.
Und unter dem include_path steht dann nur noch die "master_inc.php", die das alles regelt.
Liebe Grüße aus http://www.braunschweig.de
Tom