“整个剧本中都可以使用Superglobals” - 什么构成剧本?

时间:2012-12-05 22:58:29

标签: php

“整个剧本”是什么意思?什么时候2个php文档是同一个脚本的一部分,什么时候不是?

3 个答案:

答案 0 :(得分:3)

没有深入细致,迂腐的细节,最简单的方法是在整个执行过程中提供超级全局变量。

此外,相同的超级全局变量在整个执行过程中都可用。换句话说,您可以有五个级别的包含和各种函数调用嵌套,但$_GET['key']$_SERVER['key']等仍然是执行的相同变量。

答案 1 :(得分:2)

“整个脚本”意味着“整个PHP解释器的调用”。以下是一些典型情况:

  • 脚本A include()require() s脚本B:超级全球将从脚本A转换为脚本B
  • 脚本A eval()一些代码:超级全局将从脚本转换为评估的参数。

这与“超级定义”不同,例如__FILE__,因为超级全局在整个调用期间将是常量(如果不是手动更改),而超定义则不会。

除此之外,即使在函数或类中没有明确地global编辑

,超级全局也会在范围内。

答案 2 :(得分:1)

这只意味着它们可用于完整执行您的脚本。

这意味着它们也可以在您的主脚本中包含或要求的任何脚本中使用(请记住,包括脚本实际上与复制和粘贴代码相同,它更容易维护)。

它们也可用于脚本中的任何功能。

请注意,它们与全局变量的不同之处在于它们不必以“全局”开头,以便在函数中可以访问它们。

我希望这会有所帮助。