php - tipos - plantilla doctype
¿Necesito una declaración! DOCTYPE en un archivo php con html? (10)
Como han dicho otros !DOCTYPE
es necesario en los scripts php que generan HTML. Si estuvieras creando una imagen o ejecutando un archivo bash o algo así, la historia sería diferente.
En cuanto al lugar al que pertenece, es una buena idea ponerlo al principio solo para que no imprima algo antes de hacerlo, pero si está utilizando variables de sesión o enviando encabezados, querrá asegurarse de hacer esas cosas ANTES declarando un doctype. Recuerde, NO puede haber salida del navegador (incluso espacios en blanco) antes de que se envíen los encabezados a través de PHP o se inicien las sesiones.
Tengo un archivo php con el contenido de mi sitio web en él. El archivo debe ser .php porque primero obtengo algunas variables y luego las uso más adelante en el contenido del sitio web. Me gusta este ejemplo:
<?php
$user_name = $_REQUEST[''username''];
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Page Title</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
Welcome <?php echo $username;?>
</body>
</html>
¿Necesito el <!DOCTYPE HTML>
, ya que la extensión del archivo es php? Además, ¿está colocado correctamente? ¿Debería aparecer antes de la etiqueta o en la primera línea de mi archivo?
También noté que si quito el <!DOCTYPE HTML>
, parte de mi código css deja de funcionar ...
Muchas gracias.
Cuando contienen HTML incrustado, es mejor pensar en los archivos .php
como archivos HTML normales que el servidor ha recibido instrucciones para buscar códigos dinámicos (PHP).
Una declaración válida !DOCTYPE
todavía es necesaria para que el documento sea semántico.
Lamento haber resucitado a los muertos, pero nadie parece explicar por qué necesita un tipo de documento en HTML (sí, un script PHP que genera HTML es un archivo HTML al final).
Declarar un doctype afecta la forma en que el navegador interpreta su HTML (probablemente es por eso que su código CSS puede dejar de funcionar sin un doctype). Básicamente hay 2 formas: modo de peculiaridades y modo estricto. Este último se adhiere a los estándares, por lo que siempre debe decirle al navegador qué estándar HTML está siguiendo su código (hoy en día probablemente desee HTML5, que tiene el tipo de documento más simple: <!DOCTYPE html>
).
Las mismas reglas para HTML se aplican por igual, ya sean archivos HTML simples o archivos HTML con PHP incorporado. Usted necesita un doctype en cada circunstancia que necesita uno en HTML simple.
Por cierto, hay espacios en blanco entre el final del primer bloque, el código PHP y el doctype. Me parece recordar que los espacios en blanco antes del doctype pueden ser problemáticos (aunque eso solo podría aplicarse a XHTML)
PHP realmente no tiene nada que ver con HTML, es solo el código del lado del servidor que escupe un montón de texto que el navegador interpreta.
Un doctype es una parte crítica de cómo el navegador interpreta el HTML que sigue.
Sí, debe tener la declaración DOCTYPE
, ya que lo que envía al navegador es HTML, no PHP.
La declaración le dice al navegador que está utilizando HTML 5 y le dice cómo representarlo.
Sí, necesita un DOCTYPE ya que su navegador solo ve la siguiente parte del código anterior
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Page Title</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
Welcome THE USER NAME
</body>
</html>
Normalmente coloco la etiqueta de cierre de PHP y el DOCTYPE juntos, como así ?><!DOCTYPE HTML>
Siempre debes poner un Doctype en tu html, sin importar cómo se construya el html.
Su salida final es HTML, que es lo que utiliza el doctype. Así que, sí, necesitas uno. Si está rompiendo su CSS, entonces su HTML y / o CSS están equivocados y deben ser corregidos.
<!DOCTYPE HTML>
<table style="position:absolute; bottom:20%; right:40%;" width="150">
Si coloca <!DOCTYPE HTML>
en el archivo php, algunos estilos no funcionarán correctamente, algunos problemas de alineación.