PHP在函数中使用一个中心变量文件
在PHP中,对于以下情况,正确的前进方向是什么: 我有一个'central'vars.php,其中包含一些参数,如MySQL主机名、用户、pass、一个$Test变量,该变量指示代码是否在测试环境中运行,以及我在整个站点中使用的一些其他变量 然后我有一个functions.php,它包含了我可以在整个站点中使用的所有函数 在其中一些函数中,我可能需要一些vars.php文件中的变量 什么是使vars.php在php中的“无处不在”可用的正确方法? 现在我是这样做的:PHP在函数中使用一个中心变量文件,php,Php,在PHP中,对于以下情况,正确的前进方向是什么: 我有一个'central'vars.php,其中包含一些参数,如MySQL主机名、用户、pass、一个$Test变量,该变量指示代码是否在测试环境中运行,以及我在整个站点中使用的一些其他变量 然后我有一个functions.php,它包含了我可以在整个站点中使用的所有函数 在其中一些函数中,我可能需要一些vars.php文件中的变量 什么是使vars.php在php中的“无处不在”可用的正确方法? 现在我是这样做的: vars.php: &
vars.php:
<?php
if(strstr($_SERVER['HTTP_HOST'],"localhost"))
{
$Test = true;
}
?>
functions.php:
<?php
function DoSomething()
{
include "vars.php";
if($Test)
{
$String = "Test is true!";
}
else
{
$String = "Test is false!";
}
return $String;
}
?>
index.php:
<?php
include "vars.php";
include "functions.php;
$DoSomething = DoSomething();
echo $DoSomething;
?>
include('vars.php');
function whatHost()
{
global $host;
echo $host;
}
vars.php:
functions.php:
index.php:
正确的方法是使用常量而不是变量。您正在寻找全局变量。如果将文件包含在页面顶部,然后在函数中将每个文件声明为全局文件,如下所示:
vars.php:
<?php
if(strstr($_SERVER['HTTP_HOST'],"localhost"))
{
$Test = true;
}
?>
functions.php:
<?php
function DoSomething()
{
include "vars.php";
if($Test)
{
$String = "Test is true!";
}
else
{
$String = "Test is false!";
}
return $String;
}
?>
index.php:
<?php
include "vars.php";
include "functions.php;
$DoSomething = DoSomething();
echo $DoSomething;
?>
include('vars.php');
function whatHost()
{
global $host;
echo $host;
}
它会起作用的。不过,这是一种非常糟糕的做法,因为95%的时间里,全球状况都非常糟糕。PHP具有强大的面向对象特性,允许您在对象中封装功能和状态。我建议您仔细阅读,了解存储应用程序配置的更合适的方法。请注意,对于这种特殊情况,您可以只使用常量(:使用常量。一起定义并始终在类/文件的顶部
常量是唯一的,我们使用它们作为配置信息或静态/常量数据
如果要定义,请记住将常量用作字符串而不是变量,例如:
定义(“基本路径”、“C://BASE/”)
$dir=BASE_PATH.“images/dropbox.txt”
此外,您可能希望使用include\n来记录其他信息,例如您为什么要链接,这会有所帮助,只是粘贴链接通常没有完整的解释那么有帮助。