我不是PHP的专家。我试图增加include()的使用,使我的网站代码尽可能干净,而不是只复制,例如,所有页面中的标题代码。我有两个问题
1。在服务器请求,速度等方面使用include()是一种好习惯吗?
的index.php
(一堆代码)
<? include("connect.php") ?>;
(一堆代码)
<? include("header.php") ?>;
(一堆代码)
<? include("footer.php") ?>;
2。是否也可以使用嵌套的include&#39; s()?例如:
的header.php (一些代码)
<? include("searchFormInput.php") ?>;
现在index.php将包含header.php,然后header.php也会包含searchFormInput.php 这很好吗?
非常感谢
答案 0 :(得分:2)
嵌套的主要缺点包括您可能遇到交叉依赖导致文件被包含多次的情况。但是,使用include_once()
可以轻松解决这个问题。
在您的示例中,header.php
包含searchFormInput.php
,您可能不会有问题,假设这些文件主要生成HTML输出而不是解析类和依赖项。
另一方面,如果你有一些像
这样的结构connect.php includes config.php
session.php includes config.php
您需要使用include_once('config.php')
。
答案 1 :(得分:2)
是的,包括常规练习。
是的,包括给你轻微的性能损失(非常小)。
但包括为您提供可读性增益,并且由于它将更容易使用DRY规则。请记住以下内容:
答案 2 :(得分:1)
include,require将读取文件并在其中执行代码。
我对include和file_get_contents的速度进行了一些测试 结果是包括,并且要求比较慢
所以我的建议不会增加包含数量。
答案 3 :(得分:1)
我认为你应该用PHP查看autoload一次。您不应该关心每个文件的包含。只需调整自动加载即可完成所有这些操作。你需要用这个来进行面向对象的编程。
答案 4 :(得分:1)
在性能方面这很好,它可以在一定程度上保持代码清洁和可重用。但是,我建议您使用模板进行此类代码包含,将所有信息加载到变量中,然后在模板中调用它们。考虑一个模板引擎http://www.smarty.net/或者PHP框架或CMS http://drupal.org/,它可以让您在短期和长期内更轻松地生活!