Frontend von Backend richtig trennen

  • PHP

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von windowsfan.

    Frontend von Backend richtig trennen

    Gutn Morgen,

    ich beschäftige mich aufgrund meiner Ausbildung derzeit hauptsächlich mit Websprachen und darunter fällt vor allem PHP.
    Umgesetzt habe ich schon einige, kleine Projekte anhand des MVC Pattern. Nun gibt es für jede Website natürlich auch ein Frontend und ein Backend und meine derzeitige Lösung, diese beide ordentlich zu trennen gefällt mir nicht.

    Ich mache das in etwa wie folgt: Im Hauptordner gibt es eine index.php welche lediglich definiert define, wo ich mich befine. Hier z.B. define('WHEREAMI', 'Frontend'); und danach wird dann einfach die system.php included.
    Das gleiche gilt auch für das Backend, wo genau das gleiche passiert nur in einem anderen Ordner. Die teilen sich dann den Core. Sowohl Frontend als auch Backend haben eigene Controller und Templates bzw. Views. Die Pfäde zu denen sind einfach in der config.inc.php hinterlegt mit dem entsprechenden "WHEREAMI" Namen.

    Das ganze funktioniert zwar und das auch gut, nur bin ich dennoch der Meinung, dass es eine schönere Art und Weise dafür gibt.

    Wie löst ihr das ganze? Oder bin ich schon auf dem richtigen Weg?

    -Tim
    MVC klingt schonmal gut, es ist die halbe Miete wenn man das mal verstanden hat.
    Ich mache es so, dass ich ein kleines MVC-Framework verwende und es mir so anpasse, dass es für mich passt.
    Dazu ist simplemvcframework.com/php-framework sehr, sehr, sehr gut geeignet.

    Grundsätzlich gehe ich so vor, dass ich einen Admin-Controller habe und im konstruktor wird geprüft, ob der Benutzer angemeldet ist, somit kann dieser alle Admin-Methoden nur aufrufen, wenn er angemeldet ist.

    Für das Frontend, gibt es im Framework schon eine super Lösung, nämlich das Routing, somit sagst du, wenn jemand exmaple.com/home aufruft, dann soll die startseite kommen und wenn er /bilder aufruft, sollen eine Gallery erscheinen, usw...

    Wenn du mehr wissen willst, frag einfach ich kann dir mal ein Bsp. machen, anhand des smvc-frameworks