【发布时间】:2015-07-14 16:18:45
【问题描述】:
我有一个文件列表,我在主要脚本的开头require_once。
在其中一个文件中,我有一堆函数。
在其中一个文件中,我有一堆常量(目前是变量,但它们本质上是常量)。
Main.php
require_once \Constants.php
require_once \Functions.php
在 main.php 中,我可以调用函数并从它们各自的脚本中调用常量...我还可以调用函数并将 Constants.php 中的常量作为参数传递给函数。
但是,我无法使用其中嵌入了常量的函数。
换句话说,我不能使用 Functions.php 中的函数,这些函数已经在函数中包含 Constants.php 文件中的变量,但是如果 Functions.php 中的函数没有其他包含文件中的任何变量,我可以使用它们在函数内。
Function FirstFunction(){ echo $Constant1; return 1 }
FirstFunction() 使用来自 Constants.php 的 $Constant1 并且不起作用。
Function SecondFunction($param){ echo $param; return 1 }
SecondFunction() 可以从 Constants.php 中作为参数传递 $Constant1,它工作正常。
问题:
有没有办法让我能够使用我的 Main.php 调用函数文件和常量文件,并让函数文件使用常量文件中的变量,而无需从 Main.php 中显式调用或传递它们?
如果我要以菊花链方式连接它们(Main.php 调用 Functions.php;Functions.php 调用 Constants.php)这会起作用吗? (我尝试过这种方法,但还不足以信任或排除这种方法)。
注意
我能找到的大部分信息都是关于使用包含文件中的变量,但不是专门关于使用其他包含文件中的变量的包含文件。
【问题讨论】:
-
不确定问题出在哪里,因为您还没有发布任何上述功能不起作用的代码示例。然而,我有一个偷偷摸摸的怀疑,这是因为常量被定义在 inside 函数..?
-
是的,这正是我要问的。我的函数使用函数本身内部(或内部)另一个包含文件中的变量/常量。如果您需要将其可视化,我可以发布一个通用示例。