Che cos'è phtml e quando dovrei usare un'estensione .phtml anziché .php?


233

Mi chiedo quale sia la differenza tra i file .phtml e .php e quando utilizzarli uno sopra l'altro.

Risposte:


316

Di solito non c'è differenza, per quanto riguarda il rendering della pagina. È un'enorme struttura per gli sviluppatori, tuttavia, quando il tuo progetto web diventa più grande.

Uso entrambi in questo modo:

  • La pagina .PHP non contiene codice relativo alla vista
  • La pagina .PHTML contiene poca (se presente) logica dei dati e la maggior parte di essa è legata alla presentazione

74
Bene, quindi usare l'estensione .phtml anziché .php sarebbe solo una formalità usata per indicare un file che è più denso di html piuttosto che php.
fvgs

12
Precisamente. Sfruttando il fatto che un'estensione di file diversa può essere associata a un'icona diversa, puoi anche distinguerli facilmente (lavorare con decine o centinaia di file, semplicemente organizzarli in una cartella non sempre li taglia).
Alex

C'è anche il file sorgente PHP .phps.
CMCDragonkai,

funziona .PHTMLancora. ho scritto il seguente pezzo di codice e l'ho salvato con .phtml e non ha eseguito la parte php <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
dhpratik

1
@dhpratik Controlla la configurazione del tuo server, probabilmente l'estensione non viene gestita correttamente. Se la configurazione sembra a posto, è meglio come una domanda SO da sola
Alex

101

.phtmlera l'estensione di file standard per i programmi PHP 2. .php3ha preso il posto di PHP 3. Quando è uscito PHP 4 sono passati a una scala .php.

Le estensioni di file più vecchie vengono talvolta utilizzate, ma non sono così comuni.


31

È un file ext che alcune persone hanno usato per un po 'per indicare che era HTML generato da PHP. Dato che i server come Apache non si preoccupano di ciò che usi come file ext fintanto che è mappato su qualcosa, potresti andare avanti e chiamare tutti i tuoi file PHP .jimyBobSmith e li farebbe felicemente. PHTML è solo una tendenza che ha preso piede per un po '.


24
+1 per .jimmybobsmith Potrei farlo una volta per confondere un sacco di persone nella squadra che non lo sanno.
o_O

Devi registrare l'estensione nel tuo apache.conf / httpd.conf però ... un altro trucco è includeil file con qualsiasi estensione da php, funzionerà comunque come php.
SparK,

17

Per fare un esempio di ciò che ha detto Alex, se stai usando Magento, ad esempio, i file .phtml si trovano solo nell'area / design come file modello e contengono sia linee HTML che PHP. Nel frattempo i file PHP sono codice puro e non contengono righe di HTML.


6

I file .phtml dicono al server web che quelli sono file html con contenuto dinamico che viene generato dal server ... proprio come si comportano i file .php in un browser. Quindi, nell'uso produttivo non dovresti riscontrare alcuna differenza dai file .phtml ai file .php.


5
phtmldi solito non si accedeva mai direttamente. Inoltre, di phtmlsolito non è configurato come estensione PHP valida nella maggior parte dei server web.
KingCrunch

0

Puoi scegliere qualsiasi estensione al mondo se hai configurato Apache correttamente. È possibile utilizzare .html per eseguire PHP se impostato nella configurazione di Apache.

In conclusione, l'estensione non ha nulla a che fare con l'app o il sito Web stesso. Puoi usare quello che vuoi, ma normalmente, usa .php (per non reinventare la ruota)

Ma nel 2019, dovresti usare il routing e alla fine hai dimenticato l'estensione.

Ti consiglio di usare Laravel.

In risposta a @KingCrunch: True, Apache non lo utilizza per impostazione predefinita, ma puoi usarlo facilmente se cambi configurazione. Ma questo non è raccomandato dal momento che tutti sanno che non è davvero un'opzione.

Ho già visto i file .html che eseguivano PHP usando l'estensione HTML.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.