Globale Variable für Config erstellen

Theoretisch ja, aber Du musst auch die Datei, in der Du die Funktion __autoload definierst, vorher irgendwo laden. Insofern besteht darin kein Unterschied zur zuvor genannten Lösung.
 
Ich glaube, es wäre ganz gut, eine Front-Controller-Lösung zu nutzen (falls du das nicht tust). Da hast du derartige Probleme in der Regel nicht.

Einfach gesagt: Lade nicht in die einzelnen Inhaltsseiten Header und Footer rein, sondern definiere eine zentrale Datei, die alle Requests abhandelt (per Rewriting) und lade dort die jeweiligen Inhalte.
 
Hi,

also wenn ich das richtig verstehe, würde ich dafür garnicht so viel Aufwand betreiben.

Du kannst mit set_include_path einfach den Pfad angeben, in dem PHP nach dateien suchen soll. So würdest du am Anfang deines Scriptes einfach folgendes einfügen:
PHP:
$path = array("Pfad 1 zu Ordner mit Template", "Pfad 2 zu Ordner mit Template", "Pfad N zu Ordner mit Template");
set_include_path(get_include_path() . ':' . implode(':', $path));

Wenn du dann ein include/require aufrufst sucht PHP auch in den angegenben Ordnern nach Dateien.

Geht man als beispiel von folgender Verzeichnisstuktur aus
Code:
.
??? src
?** ??? example.php
?** ??? template3
??? template1
?** ??? example.thtml
??? template2

und nehme an, du willst in der example.php die Datei example.thtml einbinden:
example.php :
PHP:
$path = array("/...../template1", "/...../template2", "/...../src/template3");
set_include_path(get_include_path() . ':' . implode(':', $path));

..
..

include 'example.thtml';

Wobei man auch sagen muss, dass diese Struktur eigentlich eher unpraktisch klingt. Theoretisch ist es eigentlich schöner, wenn du deine Templates an einem festem Ort hast und nicht überall verteilt. Auch MVC könnte man an dieser Stelle ansprechen..

VG
Nino
 
Zurück