¿Qué es phtml y cuándo debo usar una extensión .phtml en lugar de .php?

233

Me pregunto cuál es la diferencia entre los archivos .phtml y .php, y cuándo usar uno sobre el otro.

fvgs
fuente

Respuestas:

316

Por lo general, no hay diferencia, en lo que respecta al procesamiento de páginas. Sin embargo, es una gran instalación del lado del desarrollador cuando su proyecto web crece.

Hago uso de ambos de esta manera:

  • La página .PHP no contiene código relacionado con la vista
  • La página .PHTML contiene poca lógica de datos (si la hay) y la mayor parte está relacionada con la presentación
Alex
fuente
74
Muy bien, entonces usar la extensión .phtml en lugar de .php sería solo una formalidad utilizada para denotar un archivo que es más denso en html que php.
fvgs
12
Precisamente. Aprovechando el hecho de que una extensión de archivo diferente puede asociarse con un icono diferente, también puede distinguirlos sin esfuerzo (trabajar con decenas o cientos de archivos, solo organizarlos en una carpeta no siempre es suficiente).
Alex
También hay un archivo fuente PHP .phps.
CMCDragonkai
no .PHTMLpuede funcionar. escribí el siguiente código y lo guardé con .phtml y no ejecutó la parte php <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
dhpratik
1
@dhpratik Verifique la configuración de su servidor, la extensión probablemente no se esté manejando correctamente. Si la configuración parece estar bien, es mejor que sea una pregunta SO por sí sola
Alex
101

.phtmlera la extensión de archivo estándar para programas PHP 2. .php3se hizo cargo de PHP 3. Cuando salió PHP 4, cambiaron a una recta .php.

Las extensiones de archivo anteriores todavía se usan a veces, pero no son tan comunes.

Quentin
fuente
31

Es un archivo ext que algunas personas usaron por un tiempo para denotar que era HTML generado por PHP. Como a los servidores como Apache no les importa lo que usas como archivo ext, siempre y cuando esté asignado a algo, puedes seguir adelante y llamar a todos tus archivos PHP .jimyBobSmith y los ejecutará con gusto. PHTML resultó ser una tendencia que se hizo popular por un tiempo.

Fluffeh
fuente
24
+1 para .jimmybobsmith Podría hacerlo una vez para confundir a muchas personas en el equipo que no saben esto.
o_O
Sin embargo, debe registrar la extensión en su apache.conf / httpd.conf ... otro truco es includeel archivo con cualquier extensión de php, de todos modos se ejecutará como php.
SparK
17

Para dar un ejemplo de lo que dijo Alex, si está utilizando Magento, por ejemplo, los archivos .phtml solo se encuentran en el área de diseño / como archivos de plantilla y contienen líneas HTML y PHP. Mientras tanto, los archivos PHP son código puro y no tienen ninguna línea de HTML.

Tostada Coma
fuente
6

Los archivos .phtml le dicen al servidor web que esos son archivos html con contenido dinámico generado por el servidor ... al igual que los archivos .php en el comportamiento de un navegador. Por lo tanto, en el uso productivo no debería experimentar diferencia de archivos .phtml a .php.

Soundz
fuente
55
phtmlgeneralmente nunca se accede directamente. Además, phtmlgeneralmente no está configurado como una extensión PHP válida en la mayoría de los servidores web.
KingCrunch
0

Puede elegir cualquier extensión del mundo si configura Apache correctamente. Puede usar .html para hacer PHP si configura en su configuración de Apache.

En conclusión, la extensión no tiene nada que ver con la aplicación o el sitio web en sí. Puedes usar el que quieras, pero normalmente, usa .php (para no reinventar la rueda)

Pero en 2019, debe usar el enrutamiento y olvidarse de la extensión al final.

Te recomiendo usar Laravel.

En respuesta a @KingCrunch: Cierto, Apache no lo usa de manera predeterminada, pero puede usarlo fácilmente si cambia la configuración. Pero esto no se recomienda ya que todos saben que no es realmente una opción.

Ya vi archivos .html que ejecutaban PHP usando la extensión html.

WtrndMOB
fuente