快速提问,我有:
include_once("connection.php");
在我的标题内,然后在我的内部页面上:
<?php include 'header.php';?>
我还需要添加:
include_once("connection.php");
在我的内部网页上?我问的原因是:现在我只在标题中有它,有时我的表单将保存到数据库,有时他们不会。我只想弄清楚最佳做法是什么。
答案 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 被调用,那么你处于渲染模式,你应该只在那个阶段渲染内容。