2013-07-29 8 views
22

Forse non è una vera domanda, piuttosto è una discussione. Ho deciso di imparare angolare, utilizzando un compito semplice, costruire un sistema di blog. E ho alcune domande. Per timore che immaginare che l'applicazione PHP avrà la struttura MVC, quindi ho alcune domande:AngularJS e backend PHP

  • Devo costruire il mio back-end unica applicazione più rilassante, e utilizzare JSON risposta \ richiesta al momento angolare e php?
  • E per quanto riguarda la vista nell'app di php, dovrei usarli con ng-init?
  • Routing, lato server o lato client?
  • E il caching?
  • E l'ultimo, ma non meno importante, dove dovrei mettere la logica sui dati che l'utente inserirà?

Qualcuno mi può dare le istruzioni o direzioni, su queste cose, e forse di leggere gli articoli, per combinare il php e angolare, o forse lo sto facendo nel modo sbagliato link utile?

+0

btw considera che un'applicazione web di una pagina basata su js non è facile da usare che un blog potrebbe essere essenzialmente. –

risposta

29

Si potrebbe voler considerare questo tipo di applicazione come effettivamente DUE applicazioni.

Il primo è il back-end, l'API. Puoi utilizzare il tuo framework PHP per creare un'API che ti permetta di mantenere la persistenza dei dati, la convalida (business logic), ecc ... e dimenticarti del front-end per ora, stai solo costruendo un'API per i dati di back-end.

La seconda parte dell'app è il frontend di AngularJS. Ciò include tutte le visualizzazioni e tutto ciò che vede il client. Niente di tutto ciò proviene dal back-end.

Ciò consente di utilizzare l'API di backend (il bit di PHP) per agire come archivio dati, con la propria convalida per la sicurezza, pur avendo l'esperienza utente senza soluzione di continuità e la convalida di base del client da AngularJS.

Il routing è AngularJS, poiché questo è il frontend effettivo utilizzato dal client.

Il caching può essere eseguito (se necessario) nel back-end, l'API.

La convalida avverrà sia nel frontend che nel backend, sebbene possano essere leggermente diversi se necessario.

Ricordare, si costruisce il back-end rigorosamente come un'API, senza considerare il frontend (come se ci fosse più di un'app che lo utilizza), quindi avrà le proprie regole e logica di convalida.

Spero che questo aiuti.

+0

Quindi consigli di usare php solo come API? E perché è una cattiva idea mescolare viste php con angolari? – Cawa

+1

@ СашаХарьков - Beh, non sono sicuro che direi che è una cattiva idea di per sé, ma concettualmente potrebbe introdurre molti più problemi di confusione e di manutenzione di quanto inizialmente risolvesse. L'idea è che AngularJS ti fornirà l'intero front end, è un'applicazione a sé stante. L'API di back-end (in questo caso PHP) è lì per aiutare a mantenere i dati con le operazioni CRUD. Separarli aiuta a mantenere il codice gestibile e scalabile. –

+1

un particolare framework PHP consigliato per la creazione di questa API di back-end? – domi

6

Ho trovato una struttura molto semplice che mi consente di utilizzare Angular con PHP e API riposanti. Io uso Angularjs per tutte le visualizzazioni. Io uso un framework API PHP restful chiamato slim per facilitare le comunicazioni tra Angular e i modelli PHP che uso Doctorine2 per.

L'85% della mia codifica viene eseguita con Angolare (Visualizzazioni). 5% fatto con l'API (controller) e il restante 10% che configura la logica aziendale nei Modelli. Grande separazione delle preoccupazioni e non molto sovraccarico. Semplice e conciso.