我有一个情况,我有2个文件,File A
和File B1
。然后我有20个其他脚本,包括这些文件。文件A包含一些在文件B中实例化的类。当使用php包含文件时变量的范围
如果一个变量在文件A中的类内发生更改,它将更改为所有20个脚本?
我有一个非常奇怪的问题,其中的东西正在更新,当我把一些调试代码的每个点,该变量被更改,它不会触发。这是问题的原因,因为它似乎像其他19个文件,包括这些是造成变化的一个...
澄清:
我不包括文件不止一次。我有20个不同的脚本单独运行,包括SAME文件(只做一次)。这是因为我只需要在更改1个文件时更新所有其他文件并使用该文件。如果在一个文件中的类中更改了公共变量,是否更改了所有20个文件。
THanks。
因此,如果脚本1更改文件A中的变量,那么脚本20将在包含文件A时看到该新值? – webnoob 2011-04-01 21:03:34
嗯,不,你不应该多次使用include_once()或require_once()包含一个文件,不管它多少次被调用,它都只包含一次文件。但让我们说你有FileA,看起来像'$ a = 2; include_once( 'FILEB'); include_once('FileC');'和'FileB'做'$ a = 5;'和FileC做'echo $ a',那么输出就是'5'。基本上,一个包含/必需的文件就像是如果你在该包含文件中采用了该代码或其他文件,并将其真正复制/粘贴到包含include()调用点的文件中。 – Phoenix 2011-04-02 02:10:11
我不认为我清楚我的包装。我不是多次包含一个文件。我有20个不同的脚本单独运行,包括SAME文件(只做一次)。这是因为我只需要在更改1个文件时更新所有其他文件并使用该文件。如果全局变量在该ONE文件内发生更改,是否更改了全部变量?对不起,如果不明确。 – webnoob 2011-04-06 10:00:55