AngularJS ist sehr leistungsfähig, wenn es um interaktives HTML5 und Modellbindung geht. Auf der anderen Seite ermöglichen PHP-Frameworks wie Yii eine schnelle, gut strukturierte, sichere und leistungsstarke Entwicklung von Webanwendungen. Beide Technologien bieten ausgefeilte Mittel für Datenzugriff, Iteration und Seitenlayout.
Ist es eine gute oder schlechte Praxis, diese beiden Ansätze zu mischen (clientseitige und serverseitige "Seiteneinrichtung"), oder widerspricht dies eher der Bedeutung interaktiver, nahtloser HTML5 AJAX-Webanwendungen?
Ich spreche nicht über das Generieren von JS mit PHP ( siehe diese Frage ) - ich spreche über das Generieren einer Ansicht, die AngularJS verwendet.
Ich weiß auch, dass eine AngularJS-Seite über REST-Services mit dem Server kommunizieren sollte (oder kann), um Daten abzurufen ( siehe diese Frage ), anstatt sie beispielsweise direkt von PHP-Variablen abzurufen. Aber für mich scheint es bequemer, den "Frame" für die gesamte Webanwendung separat in PHP zu entwerfen (z. B. das Hauptmenü erstellen oder Autorisierungen / Sitzungen usw. behandeln).
Antworten:
Es scheint, dass Sie mit der Entwicklung in PHP besser vertraut sind. Sie lassen sich dadurch davon abhalten, das volle Potenzial von Webanwendungen auszuschöpfen.
Es ist zwar möglich, dass PHP Teil- und Gesamtansichten rendert, aber ich würde es nicht empfehlen.
Um die Möglichkeiten von HTML und Javascript für die Erstellung einer Webanwendung, dh einer Webseite, die sich eher wie eine Anwendung verhält und stark vom clientseitigen Rendern abhängt, voll auszuschöpfen, sollten Sie in Betracht ziehen, den Client die Verantwortung für die Verwaltung des Status und der Präsentation übernehmen zu lassen. Dies ist einfacher zu warten und benutzerfreundlicher.
Ich würde Ihnen empfehlen, sich in einem API-zentrierten Ansatz wohler zu fühlen. Anstatt PHP eine vorgerenderte Ansicht ausgeben zu lassen und Angular für die bloße DOM-Manipulation zu verwenden, sollten Sie in Betracht ziehen, dass das PHP-Backend die Daten ausgibt, die auf RESTFully angewendet werden sollen, und Angular sie präsentieren lässt.
Verwenden von PHP zum Rendern der Ansicht:
/user/account
Wie das gleiche Problem mit einem API-zentrierten Ansatz gelöst werden kann, indem JSON wie folgt ausgegeben wird:
api/auth/
und in Angular können Sie einen Abruf durchführen und die Antwortclientseite verwalten.
Die von Ihnen vorgeschlagene Client- und Serverseite zu kombinieren, eignet sich möglicherweise für kleinere Projekte, bei denen die Wartung nicht wichtig ist und Sie der einzige Autor sind. Ich tendiere jedoch eher zur API-zentrierten Methode, da dies eine korrektere Trennung von Bedenken und Willen darstellt einfacher zu pflegen sein.
quelle
a wall of javascript
? Ich bin nach Jahren des PHP-Renderings neu in der Angular / JS-API-Welt, daher ist diese Diskussion für mich interessant.