【问题标题】:Can php have multiple doctypes?php 可以有多种文档类型吗?
【发布时间】:2020-04-06 06:00:39
【问题描述】:

我是网页设计新手,有一个问题。我正在阅读 Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (Learning Php, Mysql, Javascript, Css & Html5" 并且在他的示例程序最后他有一个 "setup.php" 并且在开始他以 DOCTYPE HTML 开头。这是所有 html 的真正表达方式吗?我知道您可以在每个文件中包含每种类型的脚本,但对它的 .php 和 doctype html 感到困惑。非常感谢任何信息。堆栈溢出代码很难在页面上显示代码的开头。

<!--<!DOCTYPE html>--!>
<html>
  <head>
    <title>Setting up database</title>
  </head>
  <body>

    <h3>Setting up...</h3>

<?php // Example 27-3: setup.php
  require_once 'functions.php';

  createTable('members',
              'user VARCHAR(16),
              pass VARCHAR(16),
              INDEX(user(6))');

  createTable('messages', 
              'id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
              auth VARCHAR(16),
              recip VARCHAR(16),
              pm CHAR(1),
              time INT UNSIGNED,
              message VARCHAR(4096),
              INDEX(auth(6)),
              INDEX(recip(6))');

  createTable('friends',
              'user VARCHAR(16),
              friend VARCHAR(16),
              INDEX(user(6)),
              INDEX(friend(6))');

  createTable('profiles',
              'user VARCHAR(16),
              text VARCHAR(4096),
              INDEX(user(6))');
?>

    <br>...done.
  </body>
</html>

【问题讨论】:

  • 这似乎是最终输出 HTML 文档的 PHP 脚本的一部分,即发送到浏览器的最终结果将只包含 HTML(可能还有 JavaScript 和 CSS),因此它应该包含在顶部&lt;!DOCTYPE html&gt; 指定后面是 HTML5 文档(还有其他早期的 HTML 版本)。现在你有&lt;!--&lt;!DOCTYPE html&gt;--!&gt;,它实际上是在评论这个。
  • 浏览器最终并不关心创建 HTML 的是 PHP 还是 PYTHON 脚本,还是来自固定 HTML 的 静态文件。重要的是最终输出是什么,即 HTML。所以 DOCTYPE 规范只适用于 HTML 文档,与 PHP 无关。

标签: php html web


【解决方案1】:

每个 HTML 页面都以这样的开头:&lt;!DOCTYPE html&gt;(在这里您向浏览器表明该页面是 HTML 5)。 你有几个 doctype,但现在不再使用了,因为它们是基于旧规范(例如 HTML4、XHTML 等)。

即使您使用 PHP 生成网页,它们也必须以:&lt;!DOCTYPE html&gt; 开头。因为 PHP 只解释代码和生成,所以在你的情况下你总是有一个 HTML 页面,所以他必须以 doctype 开头。

稍后你应该学习如何在 PHP 中创建一个类,这个类应该只包含 PHP 代码,所以你不必包含 doctype。

这是结论:

  • 如果您的 PHP 文件中有一个完整的 HTML 页面(带有一个 HTML 标记、一个正文标记和一个标题标记),您必须使用 doctype
  • 如果您只有 PHP 代码,则不需要使用 doctype(因为您没有任何 HTML 代码)

【讨论】:

  • 澄清一下,生成的输出的HTML应该以&lt;!DOCTYPE html&gt;开头(假设文档是HTML5),不一定是PHP页面本身。
猜你喜欢
  • 2011-08-15
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
相关资源
最近更新 更多