Hallo,
ich "sitze" im Moment scheinbar wirklich auf dem Schlauch - hoffe aber mich mit meiner Frage jetzt nicht völlig zu blamieren. Da das ein etwas längerer Post wird bedanke ich mich schonmal zu Anfang für die Ausdauer das alles zu lesen
-----
Im habe ein "Konzept" für eine Webanwendung welche ich in PHP programmieren möchte. Die technischen Rahmenbedingungen sind folgende:
- Composer wird genutzt
- Silex wird als PHP-Framework eingesetzt
- Es wird mit Twig gearbeitet
Folgende Informationen zum Projekt selbst:
- Es besteht aus zwei Bereichen "Admin" und "Frontend"
- Später kommt ggf. noch ein Bereich "User" dazu
- Das System soll / wird Modular
Nur um verwirrung zu vermeiden: Als Bereich definiere ich teile einer Seite die zwar zur Seite gehören, aber auch eigene Resourcen wie Konfigurationsdateien, Übersetzungen, Templates, etc. haben.
-----
Ich finde keine "sinnvolle" Ordnerstruktur für mein Projekt. Wie oben bereits beschrieben, soll Composer (inkl. des Autoloading-Systems) benutzt werden.
Folgende Idee hatte ich (leht um ehrlich zu sein etwas an Symfony an):
Warum gefällt mir das nicht?
Ich finde den Mix aus Groß- und Kleinschreibung bei den Ordnernamen irgendwie Bad-Style, außerdem bin ich mir nicht sicher ob das vom Software-Design her nicht irgendwie "besser" geht. Bei Umsetzung wie hier beschrieben, müsste ich für "src" und "application" jeweils eine Ausnahme im Autoloading in der "composer.json" definieren.
Ich hatte mir auch schon überlegt, "admin" und "frontend" kleinzuschreiben aber dann müsste ich für jeden Bereich eine Ausnahme in der "composer.json" setzten was mir missfällt.
Wenn ich mich schonmal traue euch was zu fragen
Kenn jemand ggf. gute Literatur die sich mit sowas und anderen Themen rund um Software-Design beschäftigt?
-----
Nachtrag
Nach dem Absenden ist mir doch noch was eingefallen, das fehlt!
- Alle aufrufe der Seite und der einzelnen Bereiche laufen über die index.php im "web"-Ordner
- Die Ordner "config", "translation" sowie "templates" beinhalten Anwendungsweit genutzte Daten wie z.B. die Konfiguration für die Datenbank usw.
- Ziel dieser "Architektur" ist es dublicated Code / Config soweit wie möglich zu vermeiden, aber trotzdem die Möglichkeit zu haben "im Worst-Case" einzelne Bereich alleinstehend zu betreiben!
ich "sitze" im Moment scheinbar wirklich auf dem Schlauch - hoffe aber mich mit meiner Frage jetzt nicht völlig zu blamieren. Da das ein etwas längerer Post wird bedanke ich mich schonmal zu Anfang für die Ausdauer das alles zu lesen

-----
Im habe ein "Konzept" für eine Webanwendung welche ich in PHP programmieren möchte. Die technischen Rahmenbedingungen sind folgende:
- Composer wird genutzt
- Silex wird als PHP-Framework eingesetzt
- Es wird mit Twig gearbeitet
Folgende Informationen zum Projekt selbst:
- Es besteht aus zwei Bereichen "Admin" und "Frontend"
- Später kommt ggf. noch ein Bereich "User" dazu
- Das System soll / wird Modular
Nur um verwirrung zu vermeiden: Als Bereich definiere ich teile einer Seite die zwar zur Seite gehören, aber auch eigene Resourcen wie Konfigurationsdateien, Übersetzungen, Templates, etc. haben.
-----
Ich finde keine "sinnvolle" Ordnerstruktur für mein Projekt. Wie oben bereits beschrieben, soll Composer (inkl. des Autoloading-Systems) benutzt werden.
Folgende Idee hatte ich (leht um ehrlich zu sein etwas an Symfony an):
Code:
/ - application - Admin ... Bereich spezifische Unterordner ... - configs - Frontend ... Bereich spezifische Unterordner ... - translations - templates - src - vendor - web
Ich finde den Mix aus Groß- und Kleinschreibung bei den Ordnernamen irgendwie Bad-Style, außerdem bin ich mir nicht sicher ob das vom Software-Design her nicht irgendwie "besser" geht. Bei Umsetzung wie hier beschrieben, müsste ich für "src" und "application" jeweils eine Ausnahme im Autoloading in der "composer.json" definieren.
Ich hatte mir auch schon überlegt, "admin" und "frontend" kleinzuschreiben aber dann müsste ich für jeden Bereich eine Ausnahme in der "composer.json" setzten was mir missfällt.
Wenn ich mich schonmal traue euch was zu fragen

-----
Nachtrag
Nach dem Absenden ist mir doch noch was eingefallen, das fehlt!
- Alle aufrufe der Seite und der einzelnen Bereiche laufen über die index.php im "web"-Ordner
- Die Ordner "config", "translation" sowie "templates" beinhalten Anwendungsweit genutzte Daten wie z.B. die Konfiguration für die Datenbank usw.
- Ziel dieser "Architektur" ist es dublicated Code / Config soweit wie möglich zu vermeiden, aber trotzdem die Möglichkeit zu haben "im Worst-Case" einzelne Bereich alleinstehend zu betreiben!
Kommentar