【问题标题】:Is my solution to repeating HTML code clunky?我的重复 HTML 代码的解决方案是否笨拙?
【发布时间】:2022-01-02 15:56:15
【问题描述】:

假设我有一些 HTML 想要在多个页面上使用(即:出现在每个页面顶部的导航)并且不想为每个页面编写/复制和粘贴它。抽象该代码的最佳方法是什么,以免我重复自己?我目前的解决方案是让我的所有页面都是 php 文件,然后在其中写入 HTML。这样,我可以有一个专用的“nav.php”文件,我只需在必要时将其插入到页面中,例如,通过:

<?php include 'nav.php';?>

我觉得这是很多乱七八糟的东西。有人说使用 HTML &lt;template&gt; 标签也是一种选择?

如果有更好的方法,将不胜感激。

【问题讨论】:

  • 是的,您可以为导航栏创建一个单独的 PHP 文件,并且可以将该文件包含在您的页面中。
  • 如果你可以使用一些库,你可以探索 React.js 并看看如何实现这种行为(这是可能的)。
  • @kiner_shah 好的,谢谢。使用 HTML
  • 你刚刚在 PHP 中重新发明了模板
  • 如果你有一些 HTML 代码你想反复使用,你可以使用 w3schools.com/tags/tag_template.asp - 我不认为你可以用这个标签达到你想要的效果(虽然我可能错了)。

标签: php html


【解决方案1】:

大多数(所有?)页面的超级基本结构。

<?php

  // php code that is common across all pages.
  // Would include functions and classes.
  require_once('php/common.php');

  // Page logic and checking. Basically, what is happening
  // on this page that is dynamically constructed.
  $page = new Page();
  $title = $page->getTitle();
  $html = $page->getHtml();

  // 'Header' content, includes things like a navbar
  require_once('php/header.php');

  // page content (HTML) unique to this page
  echo $html;

  // 'Footer' content, include html common to all pages.
  require_once('php/footer.php');

?>

【讨论】:

  • 好的有道理,谢谢先生
猜你喜欢
  • 2021-05-29
  • 2023-03-05
  • 2013-02-22
  • 1970-01-01
  • 2014-09-16
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 2017-09-05
相关资源
最近更新 更多