Hi,
ich arbeite an einem Projekt, welches PHP für das Backend und tonnenweise JS (Angular, jQuery und zig andere Bibliotheken) für das Frontend verwendet.
Die Applikation ist relativ datenbanklastig und ich will daher unnötige Queries vermeiden.
Beispiel:
Jeder eingeloggte Benutzer hat eigene Notizen. Für Notizen gibt es einen kleinen Button - klickt man auf diesen Button, holt sich die Applikation via Ajax die Daten die es haben will. Ähnlich verfahre ich auch bei anderen Bereichen - alles, was nicht "auf den ersten Blick ersichtlich ist", wird dynamisch nachgeladen.
Die andere Seite ist der "ersichtliche" Teil. So befindet sich z.B. im Dashboard ein Feed von Actions. Das wird nicht über Ajax geladen, sondern ist direkt im Response mit drin.
Ich verwende momentan Laravel als Framework fürs Backend. Problem aber ist, dass ich in manchen Template-Dateien zwei verschiedene Template-Sprachen habe: zum einen die von Laravel (ggf. irgendwann mal Twig, momentan noch Blade) und die für JS von Angular. Sieht dann in etwa so aus:
Da Angular und Blade die selbe Template-Syntax verwendet, hab ich Angular umkonfiguriert und verwende hierfür jetzt <% respektive %>.
Man sieht aber schon: ich habe hier zwei Template-Sprachen in einer Datei, was mir irgendwie nicht so ganz passt.
Wie kann ich sowas denn lösen? Meine eigenen Lösungsansätze wären:
1) das UI komplett vom Backend trennen; d.h. es wird alles über eine API geholt. Problem dabei: ich erachte es als relativ sinnfrei Dinge wie Übersetzungen oder ähnliches via API zu holen (der Payload wäre riesig wenn ich so nachdenke).
2) damit zu leben dass es solche Dateien nunmal gibt, sind ja nicht ewig viel
Gibts sonst Lösungsansätze für sowas?
Danke
ich arbeite an einem Projekt, welches PHP für das Backend und tonnenweise JS (Angular, jQuery und zig andere Bibliotheken) für das Frontend verwendet.
Die Applikation ist relativ datenbanklastig und ich will daher unnötige Queries vermeiden.
Beispiel:
Jeder eingeloggte Benutzer hat eigene Notizen. Für Notizen gibt es einen kleinen Button - klickt man auf diesen Button, holt sich die Applikation via Ajax die Daten die es haben will. Ähnlich verfahre ich auch bei anderen Bereichen - alles, was nicht "auf den ersten Blick ersichtlich ist", wird dynamisch nachgeladen.
Die andere Seite ist der "ersichtliche" Teil. So befindet sich z.B. im Dashboard ein Feed von Actions. Das wird nicht über Ajax geladen, sondern ist direkt im Response mit drin.
Ich verwende momentan Laravel als Framework fürs Backend. Problem aber ist, dass ich in manchen Template-Dateien zwei verschiedene Template-Sprachen habe: zum einen die von Laravel (ggf. irgendwann mal Twig, momentan noch Blade) und die für JS von Angular. Sieht dann in etwa so aus:
Code:
{{{ trans('general.notes') }}} <table ng-controller="NotesController"> <tr ng-repeat="note in notes"> <td><% note.title %> </tr> </table>
Man sieht aber schon: ich habe hier zwei Template-Sprachen in einer Datei, was mir irgendwie nicht so ganz passt.
Wie kann ich sowas denn lösen? Meine eigenen Lösungsansätze wären:
1) das UI komplett vom Backend trennen; d.h. es wird alles über eine API geholt. Problem dabei: ich erachte es als relativ sinnfrei Dinge wie Übersetzungen oder ähnliches via API zu holen (der Payload wäre riesig wenn ich so nachdenke).
2) damit zu leben dass es solche Dateien nunmal gibt, sind ja nicht ewig viel
Gibts sonst Lösungsansätze für sowas?
Danke
Kommentar