使用头文件时include_once

时间:2017-02-23 16:22:09

标签: php

快速提问,我有:

include_once("connection.php"); 

在我的标题内,然后在我的内部页面上:

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

我还需要添加:

include_once("connection.php"); 

在我的内部网页上?我问的原因是:现在我只在标题中有它,有时我的表单将保存到数据库,有时他们不会。我只想弄清楚最佳做法是什么。

3 个答案:

答案 0 :(得分:0)

不,包含是“递归地”制作的。

仅供参考:“include”比“include_once”更快,因为它不会检查包含的文件

答案 1 :(得分:0)

我通常手动执行此操作,而是调用require()

的index.php

require("Config.php")
$c = Config();

的config.php

<?php
    if(!DEFINED("CLASS_CONFIG_PHP__")) {
        DEFINE("CLASS_CONFIG_PHP__", 1);
        // All library code here
    }
?>

这样,我确信所有内容都只定义一次,require将确保包含的文件没有错误(如果有错误,将在该行失败)。

答案 2 :(得分:0)

无论您使用相同参数调用多少次,

include_once()将只包含一次文件。如果使用相同的参数调用两次,include()将抛出一个错误。

如果您的标题中包含 include(&#39; connection.php&#39;),并且所有内部页面都使用此标题,那么您也不需要在内部页面中包含此标题。

但是,将视图层与业务逻辑层混合是不好的做法。阅读一下MVC模式以及如何使用它。连接应在后端完成,其中调用所有数据库函数。一旦 header.php 被调用,那么你处于渲染模式,你应该只在那个阶段渲染内容。