Signatur
Beschreibung
get_required_files() ist ein Alias der Funktion get_included_files() und gibt ein Array aller Dateipfade zurück, die bisher per include, include_once, require oder require_once in das aktuelle Skript eingebunden wurden.
Das zurückgegebene Array enthält als erstes Element immer den Pfad der aktuell ausgeführten Hauptdatei (des Einstiegsskripts) selbst. Die weiteren Elemente sind die Pfade der eingebundenen Dateien in der Reihenfolge ihres ersten Auftretens.
Diese Funktion ist nützlich zur Diagnose und Fehlersuche, etwa wenn man prüfen möchte, welche Dateien in einem komplexen Projekt geladen wurden, oder um zirkuläre Abhängigkeiten zu erkennen. Da es sich um einen Alias handelt, empfiehlt es sich, stattdessen direkt get_included_files() zu verwenden, da Aliasse in zukünftigen PHP-Versionen prinzipiell entfernt werden könnten.
Jede Datei erscheint im Array unabhängig davon, wie oft sie eingebunden wurde, maximal einmal – sofern _once-Varianten verwendet wurden. Bei wiederholtem include ohne _once kann eine Datei jedoch mehrfach aufgeführt sein.
Rückgabewert
Beispiele
Alle eingebundenen Dateien ausgeben
<?php
// Angenommen, es existieren die Dateien helper.php und config.php
require_once 'config.php';
include_once 'helper.php';
$files = get_required_files();
foreach ($files as $index => $file) {
echo $index . ': ' . $file . PHP_EOL;
}
Prüfen, ob eine bestimmte Datei bereits geladen wurde
<?php
require_once 'config.php';
$loadedFiles = get_required_files();
$needle = realpath('config.php');
if (in_array($needle, $loadedFiles)) {
echo 'config.php wurde bereits geladen.' . PHP_EOL;
} else {
echo 'config.php wurde noch nicht geladen.' . PHP_EOL;
}
// Wichtig · Fallstricke
Alias-Hinweis: get_required_files() ist ein direkter Alias von get_included_files(). Es wird empfohlen, in neuem Code stets get_included_files() zu verwenden, da Aliasse in zukünftigen PHP-Versionen ohne Vorwarnung entfernt werden könnten.
Beachte, dass bei der Verwendung von realpath() symbolische Links aufgelöst werden. Daher sollte beim Vergleich von Pfaden im Array ebenfalls realpath() eingesetzt werden, um konsistente Ergebnisse zu erhalten.