Domanda

Ho letto da qualche parte che PHP è un linguaggio di templating. Che cosa è esattamente un linguaggio di template? Ciò che rende PHP uno? Quali sono le altre lingue template?

È stato utile?

Soluzione

La premessa dietro un linguaggio modello è che la lingua è "embedded" all'interno di un altro documento master. In particolare, sul documento media, la dimensione totale del documento è in gran parte di origine documento di linguaggio di template.

Consideriamo due esempi ideati:

print "This is a simple document. It has three lines."
print "On the second line is my name: " + firstName
print "This is the third line."

vs

This is a simple document. It has three lines.
On the second line is my name: $firstName
This is the third line.

Si può vedere nel primo esempio, la lingua avvolge il testo del documento. Nel secondo esempio, il testo del documento è la più diffusa, con solo un po 'di codice.

Alcune lingue template sono in piena regola lingue di uso generale, come ad esempio PHP, ASP.NET, JSP e di Java. Altri sono più limitate progettati specificamente per template, come la velocità e FreeMarker (entrambe le utility per Java).

Molti elaboratori di testo, come ad esempio Microsoft Word, hanno le proprie capacità di templating, comunemente indicato come "Stampa unione".

Altri suggerimenti

Un linguaggio templateing fondamentalmente è un linguaggio che permette di definire i segnaposto che dovrebbe in seguito essere sostituiti con lo scopo di disegni di attuazione. Ovviamente moderni linguaggi di template non solo supportano segnaposto, ma anche loop e condizioni che sono spesso necessari per la progettazione di una pagina web. Alcuni sostengono ancora più avanzato, ma ancora le tecniche utili come l'ereditarietà dei template, macro e sandboxing.

A proposito di PHP: Come PHP stesso potrebbe essere interpolato in HTML può essere utilizzato come un linguaggio di template. D'altra parte PHP è piuttosto verboso, soprattutto se tag brevi non sono abilitati.

Un veloce e ricco di funzionalità template engine è Ramoscello . Lo consiglio su Smarty. Esso offre più funzionalità (in particolare l'ereditarietà dei template) ed è più veloce.

PHP non è necessariamente un linguaggio di template, ma può tipo di passo che prova a causa del modo in cui viene interpretato.

Quando il file PHP viene letto, solo il codice all'interno dei tag di blocco PHP (<?php e ?>) si vede, il resto è passato in uscita. Quindi un file HTML potrebbe essere elaborato dall'interprete PHP, e non sarebbe successo niente, l'HTML sarebbe uscita.

Se alcune delle aree del file HTML avevano tag e codice PHP, che sarebbe stato interpretato e probabilmente l'uscita di alcuni dati in queste località. Questo potrebbe essere considerato un modello. Di solito è l'idea di avere uno strato di uscita, e quindi avente contenuto dinamico che va con esso. Si potrebbe avere un modello di pagina del prodotto, e quindi sulla base di alcune variabili di input, popolano un solo prodotti dettagli / immagini / etc nel modello.

Ci sono i motori dei modelli reali per PHP (Smarty per un .. http://www.smarty.net/) che è possibile dare un'occhiata a.

Non sono mai stato un fan di loro, ma un sacco di gente trovare il successo con esso.

Si potrebbe leggere su Smarty 3.

http://www.smarty.net/v3_overview

ad es. ha l'ereditarietà dei template ora

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top