在整个网站上共享代码片段


Sharing a code fragment all over the website

那么,如果我的网站包含两个或多个具有相同代码片段的网页(例如,侧菜单或顶部栏),我如何将该片段存储在一个地方,供网站上的所有网页使用?

我试图将重复的代码放在单独的php文件中,比如:

<?php echo "<div id='menu'> ... </div>";

然后使用

<?php include "menu.php" ?>

但是双引号中的双引号会出现问题(考虑到我在"中心"脚本中有PHP和JS脚本,这就更麻烦了),解释等等

我应该使用什么(首选的HTML和PHP工具)来实现"代码同步"?

为什么要回显HTML

如何将双引号置于双引号内

您可以通过在前加一个反斜杠来转义双引号:

echo "<div id='"some-id'">";

但是,你处理的问题不对

您将沿着正确的路线重新使用代码,但不需要echo HTML。PHP标记之外的任何HTML都将解析为常规HTML,所以只需这样做:

<div id='menu'>
    ...
</div>

然后require_once('menu.php');导入文件。这样,您就不必在转义嵌套引号上乱来了。

如果我的菜单中有动态内容怎么办

好问题,然后用这样的东西:

<div id='menu'>
<?php foreach($menuitems as $menuitem): ?>
    <div id='<?php echo $menuitem['id']; ?>'>
        <?php echo $menuitem['text']; ?>
    </div>
<?php endforeach; ?>
</div>

通过将PHP和HTML保存在单独的标记中,您可以创建易于解析、易于阅读和易于维护的代码。

同样,不要使用内联JavaScript

将js保存在单独的文件中,并在HTML中调用它,如下所示:

<script src="script.js"></script>

您知道,您可以只使用include 'menu.html'include 'menu.php'而不使用echo,只需使用html标记并像往常一样内联添加任何php功能。