我正在进行简单的登录并注册一些网站,我遇到了一个文件问题的多重访问权限。我将数据库连接保留在一个文件上,我需要它随时访问数据库。问题是我现在开始清理代码并将一些类似的代码块传递给函数,问题是我最终得到了类似的东西:
<? php
function one()
{
require 'connection.file.php';
(...)
return $result;
}
function two()
{
require 'connection.file.php';
(...)
$varible = one();
}
我没有完全理解php的整个include / require方面,有什么办法,当我调用这两个函数时,传递所需的文件,所以我不需要包含它们每次?
编辑:管理以纠正此问题。就像答案所说,require需要是全局的,但我的连接变量也必须声明为全局。谢谢你的回答。
答案 0 :(得分:3)
要求/全局包含它:
<?php
require 'connection.file.php';
function one()
{
//(...)
return $result;
}
function two()
{
//(...)
$varible = one();
}
// ...
答案 1 :(得分:2)
将require放在代码顶部,而不是函数内部。
我建议大多数情况下也使用require_once,因为它可以避免意外重新声明函数。如果您知道多次需要该文件,请仅使用include / require而不是include_once / require_once。
<?php
require_once 'connection.file.php';
function one()
{
//stuff
}
function two()
{
//other stuff
}
?>
答案 2 :(得分:1)
您应该在顶部包含另一个.php文件。请参阅以下代码了解更多信息 解释:
一个要求的优点是它更高效 (您的服务器不必加载其他文件2次)
<?php
require_once 'connection.file.php';
function firstFunction()
{
//first stuff
}
function secondFunction()
{
//other stuff
}
?> code here