网络编程新手。我想知道使用包含模板页面是否常见。例如,您将标题,导航和页脚代码全部放在单独的文件中,然后将它们包含在内容不同的特定页面中。这与我在研究中遇到的像Smarty这样的模板语言或模板引擎有什么不同?
答案 0 :(得分:1)
我使用这种方法,我认为它适用于Web开发,但更喜欢使用require_once函数而不是include函数
对模板引擎了解不多。
答案 1 :(得分:1)
包含模板的问题是您必须包含管理包含页脚和标题的文件。特殊情况很难维护,可能导致修改大量文件。
最好的方法是装饰您的模板,其布局可以处理页脚,页眉,侧边栏等
从纯技术角度来看,您的模板包含在一般演示文稿中,而不是模板中,以包含一般的演示文稿。
Symfony1和Twig模板引擎正在这样做。
答案 2 :(得分:0)
恕我直言,我喜欢有一个单一的布局视图,其中包含任何不能在页面上移动的内容。
<!DOCTYPE HTML>
<html>
<head>
<meta></meta>
<styles></styles>
</head>
<body>
<nav></nav>
<header></header>
<section class="rightColumn"></section>
<section class="mainContainer">
<?php include('your/awesome/view.php') ?>
</section>
<footer></footer>
<script></script>
</body>
</html>
您可以查看TWIG模板引擎 这很容易
<强> layout.html.twig 强>
<!DOCTYPE HTML>
<html>
<head>
<meta name="description" content="{% block metaDesc %}{% endblock %}"></meta>
<style></style>
{% block appendStyle %}{% endblock %}
</head>
<body id="{% block bodyId %}{% endblock %}">
<nav></nav>
<header></header>
<ul class="breadcrumb">
{% block breadcrumb %}{% endblock %}
</ul>
<section class="rightColumn"></section>
<section class="mainContainer">
{% block body %}{% endblock %}
</section>
<footer></footer>
<script></script>
{% block appendScript %}{% endblock %}
</body>
</html>
<强> page.html.twig 强>
{% extends '::layout.html.twig' %}
{% block metaDesc %}Hey, that is my description !{% endblock %}
{% block appendStyle %}
<link rel="stylesheet" href="path/to/specific.css">
{% endblock %}
{% block bodyId %}index{% endblock %}
{% block breadcrumb %}
<li><a href="">Homepage</a></li>
{% endblock %}
{% block body %}
<h1>Awesome Website</h1>
<h3>Latest news..</h3>
<article></article>
{% endblock %}