Ok, ich erstelle eine Admin-Schnittstelle für mein eigenes Blog unter der URL / admin.
Ist es möglich, dass ich dieselben Includes (einschließlich Autoload) als Root-Verzeichnis verwenden kann.
Wenn möglich, würde ich auch gerne in der Lage sein, die Links in der Navigation automatisch zu korrigieren, so dass sie die index.php in / an ../index.php wechseln, wenn sie von / admin aus aufgerufen werden.
Danke, Nico
Dies ist die beste Methode, um eine 'ABSOLUTE_PATH'-Konstante zu definieren, die das Verzeichnis enthält, unter dem sich alles befindet. Danach können Sie einfach alles kopieren und einfügen, weil es den 'vollen' Pfad definiert, der sich nicht von Verzeichnis zu Verzeichnis ändert.
Beispiel
%Vor%Dann können Sie jederzeit einfach eine Datei einfügen
%Vor%Am einfachsten wäre es, absolute Pfade / URLs zu verwenden.
Definieren Sie für die URLs eine Konstante / Variable, die auf die Wurzel Ihrer Anwendung verweist, wie:
%Vor%oder
%Vor%Und benutze es in jedem Link, wie:
%Vor%Auf diese Weise ist immer OK (und an dem Tag, an dem Sie Ihr Projekt auf einem anderen Server oder in einem Unterverzeichnis installieren, haben Sie nur eine Konstante / Variable zu ändern, und alles funktioniert immer noch)
Für includes / requires, verwende immer auch absolute pathes; Eine Lösung besteht darin, dirname
wie folgt zu verwenden:
__FILE__
ist die aktuelle Datei, in die Sie diese Zeile schreiben; dirname
ruft den Pfad (den vollständigen Pfad) zum Verzeichnis ab, das diese Datei enthält.
Damit müssen Sie sich keine Gedanken über die relativen Pfade Ihrer Dateien machen.
Noch eine andere Antwort wäre ähnlich der Kombination der ersten beiden Vorschläge. Sie könnten die Konstante definieren:
%Vor% Nehmen wir an, dass config.php
in vielen Dateien der Site enthalten sein muss, dann können Sie die folgende Anweisung verwenden, um dies zu erreichen:
Hoffe, das hilft.