PHP Umstieg auf MVC - Inhalte in DIV laden?

koffi

Lt. Junior Grade
Registriert
Jan. 2007
Beiträge
493
Hallo mal wieder,

Ich bin kurz vor der Fertigstellung meines aktuellen Projekts. Es handelt sich um eine File-Sharing Platform für Studenten, in welchem Vorlesungen und anderes Studienmaterial hoch- und runtergeladen werden können.

Jetzt, relativ kurz vor fertigstellung meines Projekts, habe ich mich erstmals in PHP Frameworks eingelesen und bin dabei auf Tutorials zu Laravel gestoßen. Das ganze scheint mir sehr interessant zu sein (vor allem das Handling von Datenbanken) und ich bin jetzt schwer am überlegen mein ganzes Projekt damit umzubauen.
Mir ist aber noch nicht alles ganz klar.

Momentan ist mein Projekt stark auf Javascript (Jquery) fundiert. Ich habe im Grunde nur 2 Views: die Landing Page für ausgeloggte Betrachter, und die Home-Page.

In dieser Home-Page gibt es grundsätzlich 3 Elemente: 2 Navs (Topbar und Sidebar) und eine große Div "content", in welcher mittels Javascript die Inhalte geladen werden, so dass bei einem Klick auf einen Link nicht immer die ganze Seite neu geladen werden muss.

Ein großer Nachteil dabei ist, dass sich die Adress-Zeile im Browser nie verändert, sie bleibt also immer auf http://meineseite.de/, und somit funktionieren die Navigations-Pfeil-Tasten im Browser nicht ordnungemäß. Bei einem Umstieg auf MVC erhoffe ich mir, dass die Adresszeile sich dann dementsprechend verändert, also http://meineseite.de/users oder http://meineseite.de/general_medicine/2016/files etc.
Mir ist aber noch völlig unklar, wie ich das mit MVC umsetze, ohne dass bei jedem Klick auf einen Link die gesamte Seite neu geladen wird.

Wie kann ich das also umsetzen, dass Inhalte in die content-div geladen werden und sich dennoch die adresszeile verändert UND dass die Browser Vor- und Zurück Tasten funktionieren?
 
Das hat rein gar nichts mit MVC zu tun. MVC ist ein strukturelles Problem, ergo könntest du evtl. dein komplettes Projekt neu bauen (+ deine Ajax Calls ebenso erneut (nur anders) einbinden).

Was du eher suchst, ist es die History zu manipulieren und mit popstate kannst du darauf reagieren.
 
Ich würde dir empfehlen, dich in React.js einzuarbeiten. Das wird zwar zunächst mit Aufwand verbunden sein, aber damit lässt sich das, was du vorhast, deutlich sauberer und schmerzfreier umsetzen als mit jQuery. Es gibt dafür jede Menge Tutorials und eine große Zahl an Add-ons für alle möglichen Zwecke (react-router z.B. für das, was du mit der Adresszeile vorhast).
 
laravel hat eine sehr gute vue.js integrations.. was einfacher und performanter als ALLE anderen ähnlichen lösungen ist.. auf jquery würde ich da auch verzichten...
 
Zurück
Oben