<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<link rel="stylesheet" type="text/css" href="css/homepage.css"/>
<link rel="stylesheet" type="text/css" href="css/header.css"/>
<link rel="stylesheet" type="text/css" href="css/footer.css"/>
<link rel="stylesheet" type="text/css" href="css/navmenu.css"/>
<!-- more css here -->
<script type="text/javascript" src="js/jQuery.js"></script>
<script type="text/javascript" src="js/navmenu.js"></script>
<!-- more js here -->
</head>
我所有页面的 <head></head>
标签中都有所有这些外部 CSS 和 JavaScript,所有这些在所有页面中都很重要......将所有这些放在一个单独的文件中并使用 PHP 将其包含在内是否合适? 因此,如果我想对这些外部进行一些更改,对我来说很容易, 因为它会影响我所有的页面。 我只想知道这是否是一种好的做法。提前致谢
是的。但为什么要止步于此呢?理想情况下,您应该将所有重复标记放在一个文件中。
在 PHP 中有许多共享常见标记的方法,但最简单的方法是拥有一个全局的"Top.php"和"Bottom.php"文件,如下所示:
在顶部.php:
<html>
<head>
<title><?php echo $pagetitle; ?></title>
<!-- your <meta /> elements go here -->
</head>
<body>
<!-- common page elements go here -->
在底部.php:
</body>
</html> <!-- This ensures all of the common markup is closed -->
然后,对于每个页面,执行以下操作:
<?php $pageTitle = "This page's title";
require("Top.php"); ?>
<!-- put your per-page markup and PHP code here -->
<?php require("Bottom.php"); ?>
简单。
现在我如何使用require()
而不是include()
.require函数更加严格,基本上保证了包含的文件存在。我认为应用程序明显中断比静默失败要好。
将代码段保存到单独的文件中,然后包含((它们。
是的,这是一个很好的做法,但更好的是使用一些像样的模板系统。从Nette框架看拿铁模板系统
这是很好的做法。将其放在单独的PHP脚本中,即head.php然后使用包含在所有其他页面中
<?php include('head.php'); ?>
直接回答您的问题。
是的!这是一种很好的做法。
一个好的程序员不会在每个页面上重新编码所有内容(这是导致CLASS发明的必要条件之一(。 所以,继续! :)
是的,将这样的常见数据拉入单独的文件中是合适的。真正的问题是,现在它在一个单独的文件中,你用它做什么?
您至少有四个选项。
- 服务器端(基于主机(包含文件
- PHP
include
声明 - PHP
require
或require_once
语句 - 做
服务器端包含通常被认为会损害性能,尤其是在低成本(超卖?(共享 Web 托管服务器上。 还有其他问题。
php 中的include
和 require
语句主要区别在于它们如何响应丢失的文件。include
语句生成警告; require
会产生致命错误。
make 实用程序不太常用,但它非常有用。使用 make,您可以将任何文件包含在另一个文件中,在具有静态内容时生成具有静态内容的输出,在有意义地具有动态内容时生成动态内容。
对于您正在谈论的信息,您可以使用 make 来生成样式表和 javascript 引用是静态的文件(因此不会影响性能(,并具有单个源文件的所有可维护性。 正确构建的makefile保证对样式表/javascript文件的任何更改都将合并到下一个构建中。
其他文本实用程序可以做一些相同的事情,特别是如果您只谈论文件包含。(例如 m4。