Separazione del codice php e html [chiuso]

2

Qual è la pratica industriale su come separare il codice html e php in un progetto web? Usare echos per generare html è considerato negativo, ma qual è il modo standard per raggiungere la separazione ricercata? Utilizzo di motori di template come twig?

    
posta Gergely 06.04.2014 - 10:17
fonte

2 risposte

4

In generale, è necessario inserire HTML in un modello.

Un modello contiene un codice di programmazione minimo: è principalmente HTML, con chiamate a variabili e cicli di base e istruzioni condizionali. Il motivo è che mettere troppo codice di programmazione nei template sarebbe:

  • Rendi difficile il test ,

  • Rendi difficile la lettura e la modifica del modello: il modello dovrebbe essere abbastanza semplice da poter essere modificato con il minimo rischio di introdurre errori.

Un motore di template, come Smarty , viene quindi utilizzato per trasformare il modello in contenuto reale.

    
risposta data 06.04.2014 - 11:06
fonte
4

Ci sono diversi approcci, da un lato, usando template dal lato server come Smarty, Twig, ecc. Non consiglio questo approccio perché stai accoppiando il tuo codice di presentazione alla tecnologia usata nel server (come php , pitone, rubino, java, ...).

L'altro approccio consiste nell'utilizzare modelli / framework per client per la vista (come ember, angularjs, backbone, ...). Raccomando questo approccio a causa della separazione delle preoccupazioni tra view (html, css, js ...) e codice o controller del server (php / symphony, python / django, ruby / rails, java / spring ...).

Quindi tra il codice server e il codice cliente, la colla uniq che devi inserire è l'oggetto modello in formato Json (o qualsiasi altro formato tu abbia bisogno). In questo modo, è possibile sviluppare codice nella vista che è riutilizzabile da qualsiasi tipo di codice server e, quindi, è possibile sviluppare la logica dell'applicazione con tecnologie server diverse.

    
risposta data 06.04.2014 - 11:22
fonte

Leggi altre domande sui tag