1Danke
ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
2178
2178
EMPFEHLEN
-
Hi,
wow, mein erster Beitrag in dem "neuen Forum"!
Dickes Kompliment!
Aber nun zu meinem Problem
Ich habe ein relativ umfangreiches Projekt mit einem Freund, in dem wir verschiedene Bereiche haben, zum Beispiel:
- News
- Profil
---- "Pinnwand"
---- Infos
---- Bands
---- Freunde
- Bands
---- Mitglieder
---- Kalender
---- Biografie
- Einstellungen
---- Passwort ändern
---- Email Benachrichtigungen
- Rechtliches
---- Kontakt
---- Impressum
---- Disclaimer
---- AGB
---- FAQ
und so weiter...
Bisher habe ich folgende Ordner-Struktur
- root
-- include
----- classes, function, etc
-- templates
-- alle php-dateien
Da es sehr unübersichtlich wird, wenn ich jetzt alle PHP-Dateien in den root-Ordner packe, wird es auf die Dauer sehr unübersichtlich (das stelle ich schon jetzt mit 25 Dateien fest...). Als Hilfe hab ich vor alles einen Prefix gemacht, z.B.: "profil_information.php"
Das nervt mich aber doch ziemlich und es sieht auch irgendwo unschick aus
Also dachte ich mir ich mache für die wichtigen Bereiche, die kompliziert sind und mit viel Unterdateien einen Ordner, so zum Beispiel:
- root
-- bands
---- index.php
---- members.php
---- calendar.php
-- profile
---- info.php
---- friends.php
---- wall.php
und so weiter.
Doch jetzt habe ich 2 Probleme:
-1- Wie kriege ich die Dateien aufgerufen? Sollte ich im root-Ordner eine Datei machen, die über die URL aufgerufen wird und per Parameter die entsprechende Datei aus dem Ordner liest? Oder doch htaccess?
-2- Ich habe eine globale Konfigurationsdatei, in der Ordner-Pfade festgelegt sind.
Wenn ich diese in zum Beispiel bands/info.php einbinde, stimmen diese Pfade ja nicht mehr.
Könnt ihr mir Tips geben, wie ich dieses Problem am Besten lösen könnte?
Das Projekt wird sicher nicht mit 50 Dateien auskommen wenn es einmal fertig gestellt ist und es soll ständig erweitert werden, ohne viel Fusch.
Vielen Dank fürs Lesen und helfen!
DavidNein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
-1- Wenn du Dateien direkt einbindest kannst du z.B.: einfach include('./bands/index.php'); einbinden
-2- Hier ist es eine Möglichkeit in jeder Datei den Pfad zu root Verzeichnis zu hinterlegen.
Datei bands/index.php
Datei include_all.phpPHP-Code:$RELPATH = '../';
include('include_all.php');
PHP-Code:include($RELPATH.'profil/info.php');
...
-
Danke für die schnelle Antwort.
Das ist schon ein guter ansatz, allerdings habe ich ja folgendes Problem:
config.php:
liegt inPHP-Code:define('FUNCTION_DIR', 'include/function');
define('CLASS_DIR', 'include/class');
/include/config.php
wenn ich jetzt in der "bands/index.php" folgendes mache:
$RELPATH = '../';
include($RELPATH.'/include/config.php');
Dann stimmen aber doch die Pfade der Konstanten nicht mehr, oder irre ich mich?!
Gruß
DavidNein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
Das Problem ist immer, dass der Ausgabgspfad derjenige der Datei ist, die du aufgerufen hast.
Wenn in file1.php wieder ein include steht, geht der vom Pfad index.php aus.PHP-Code://index.php
include('dir1/file1.php');
Darum setze ich meistens die absouten Pfade. Dann ists egal woher das ganze aufgerufen wurde. Die absoluten Pfade kann man einfach mit dirname(__FILE__) auslesenPHP-Code://file1.php
include('file2.php'); //sucht file2.php im Ordner wo index.php steht, nicht aber im Ordner dir1/
Das macht das ganze nicht gerade einfacher.PHP-Code://file1.php
include(dirname(__FILE__).'/file2.php'); //sucht file2.php im selben Ordner wo auch file1.php ist
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Nein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
definiere halt die konstanten auch über RELPATH
Oder hab ich jetzt das Problem falsch verstanden?PHP-Code:define('FUNCTION_DIR', $RELPATH.'include/function');
-
Wenn ich somit aus jedem (in meiner oben geposteten Ordnerstruktur) Ordner her in das richtige Verzeichnis komme, nein!
Dann würde ich mich herzlich bedanken!
// edit:
Jetzt würde ich aber gerne noch eure Meinung einmal wissen:
- Seit ihr der Meinung es macht das ganze übersichtlicher, wenn jeder (größere) Bereich seinen eigenen Ornder bekommt?
- Wie würdet ihr das ganze aufrufen lassen?
In der Url sollte möglichst wenig stehen, also am Besten wäre so:
http://www.adresse.de/bands.html?v=info
Sollte ich dann einfach in einer bands.html die im Stammordner liegt eine switch-case Abfrage machen die die jeweiligen Bereiche einbindet?Geändert von Kalma (26.07.10 um 10:12 Uhr)
Nein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
Ja kommst du, du musst halt immer in $RELPATH den relativen Pfad zum Root-Ordner angeben.
-
Ok, super, danke

Hast du meinen Edit mitbekommen?Nein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
Nein hatte ich nicht:
- Übersichtlichkeit: Auf jeden Fall machen. Wenn du das erste mal 100 Dateien hast weißt du warum.
- Aufruf: Wenn du ein Frameset/Iframes verwendest sieht eh keiner was genau geladen wird.
-
Alles klar!
Aber Iframes und Frames verwende ich generell nicht.
Ich werde es glaub ich mit switch-case lösen!
Vielen Dank für eure Hilfe!Nein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
Eine Frage hätte ich doch noch.
Ich habe die Config-Datei im Ordner:
include/system/config.cfg.php
-> Dort werden alle Konstanten für die Ordner definiert etc.
Eingebunden wird die Datei in der index.php die im Hauptordner ist.
Wie soll ich denn da jetzt den relativen Pfad angeben?
einfach "../../" als RELPATH geht ja eben nicht.
Vielen Dank für die Hilfe!Nein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
-
RELPATH müsste in dem Fall "" (leer) sein. Du musst in jeder Datei die die config.cfg.php includieren möchte den Pfad zum Hauptverzeichnis hinterlegen. Da die index.php schon im Haupverzeichnis liegt ist hier nichts anzugeben.
Wichtig: Du musst in der config.cfg.php natürlich auch alle Pfad vom Haupverzeichnis aus angeben.
Bsp:
für eine Datei die auch im Verzeichnis include/system/ liegt.Code :1
include($RELPATH.'include/system/config2.cfg.php');
-
Ach da lag mein Denkfehler.
Ich muss natürlich den RELPATH immer vor dem include der config definieren in der Datei in der ich die config einbinde.
Ich hatte aus einem Grund gedacht ich könnte einen globalen relpath in der config selber definieren. Der müsste aber ja dann absolut sein, fänd ich nich so gut.
Gut, dann bedanke ich mich für deine Hilfe!Nein, ich bin kein Programmier-könig. Aber Spaß macht es trotzdem!
Ähnliche Themen
-
Internetprogrammierer für ein großes Projekt gesucht.
Von Dragonate im Forum Stellenangebote (unentgeltlich)Antworten: 0Letzter Beitrag: 28.10.10, 16:55 -
Suche Helfer für großes Projekt!
Von Toooooni im Forum Stellenangebote (unentgeltlich)Antworten: 12Letzter Beitrag: 28.09.07, 11:24 -
Großes Projekt
Von lucky009 im Forum Cinema 4DAntworten: 5Letzter Beitrag: 21.06.07, 08:30 -
Großes Projekt
Von Michamann im Forum Stellenangebote (unentgeltlich)Antworten: 0Letzter Beitrag: 06.12.06, 18:18 -
Größeres Projekt vor-Flash sinnvoll?
Von Gullynbg im Forum Flash PlattformAntworten: 7Letzter Beitrag: 30.01.03, 20:50





Zitieren


Login





