Frontend und backend vermischen?

3 Antworten

Was die Ordnerstruktur angeht, trennst du das in jedem Fall. Gängig ist schon alleine aus Sicherheitsgründen, dass HTML, CSS, JS usw. in Ordner kommen, die von außen zugänglich sind. Sprich bei dir z.B. unter public liegen, während das Backend außerhalb dessen liegt.

Sprich z.B. etwas ala:

# Projekt
- src (backend)
- vendor
- public
  | - style.css
  | - app.js
  | - index.php/html

Die URL zeigt in dem Fall auf public. Von außen kann man also nicht auf z.B. die Backend-Dateien zugreifen.

Je nach Projekt und was du machst ändert sich das aber natürlich und du hast z.B. auch Frontend Code oberhalb von Public, wo SCSS Files sind oder JavaScript bevor es gebundled wird.

Je nachdem ob du clientseitiges Rendering verwendest oder Serverseitiges, kann man Frontend und Backend natürlich durchaus mischen. Bei SSR würde ja dein PHP den HTML Code erzeugen. Damit sind deine Templates, die ja letztlich Frontend sind, nahe am Backend und damit vermischt.

Bei clientseitigen Rendering wäre das Backend ja eher etwas wie eine REST Schnittstelle und dein Frontend Client würde ganz normal über eine Anfrage die Daten vom Backend fetchen. Das könnten dann z.B. auch zwei komplett unabhängige Projekte sein, wenn man möchte.

Und auch MVC kannst du je nach Projekt auf beiden Seiten haben. Oder eben auch gar nicht. Meist gibt sowas eh das Framework vor. Häufig geht man heutzutage auch schon wieder von MVC weg und trennt das ganze sinnvoller auf. Stichwort Onion Architecture, Clean Architecture, Ports and Adapters bzw. Hexagonal Architecture.

MVC nutzen nur MVC wegen macht denke ich nicht so viel Sinn. Wenn man ein Framework baut, dann muss man eben eine bestimmte Struktur vorgeben. Wer selbst was komplexeres macht, der findet häufig sinnvollere Strukturen.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

Ich weiß ja nicht was Du vor hast aber in meinem letzten kleineren Projekt habe ich auf ein Backend komplett verzichtet.

Statt dessen habe ich das ganze zunächst auf mehrere Benutzerebenen ausgerichtet.

Gäste

User

Adminstratoren

Superuser

Dann habe ich den Zugriff auf Menüpunkte, Seiten und Funktionen so eingestellt, dass sie nur für die dafür berechtigten Usergruppen verfügbar sind.

D.h. Ein Backend gibt es in meinem Projekt garnicht.

hier eine einfache erklärung

https://www.php-einfach.de/experte/objektorientierte-programmierung-oop/php-design-patterns/model-view-controller-in-php/

ja ist immer sinvoll , wenn man dann noch mit templates arbeitet hilft das alles ungemein .

MoinMaiste 
Fragesteller
 27.02.2022, 06:18

Also ist es um es ganz einfach auszudrücken sinnvoll, dass backend und frontend so lange zusammenzulassen, wie es geht, um eine strukturiertere ordnerstruktur zu haben?

0