阅读有关include_once
的文档,它基本上说,如果已经包含有问题的文件,则不会重新包含该文件。
我可以在脑海中将其等同于脚本的静态实例,还是会导致我将来遇到麻烦?
编辑
不是在寻找关于include_once
的教程,我非常了解它。 想知道我是否可以在概念上将静态成员的属性和特征附加到这个想法上。
编辑 2
反对者愿意解释吗? 这是一个概念性问题,有一个明确的答案。
我不确定实际函数是如何工作的,但最好的思考方法是:
"如果此文件已在此流的前面包含/需要,则无需再次包含/要求它。"
关键是要避免包含"重新定义"类或函数的文件,因为它已经在前面包含的同一文件中定义。
要记住的重要一点是脚本(以及沿途包含的任何脚本(具有开始和结束的想法。 对include_once
的任何调用都会检查自整个脚本开始以来是否已包含该文件。 如果有,它不会费心再次包含它,它只是从最初包含的文件中删除。
脚本完成后(没有工作要做,流关闭、中断、中止等(,重新启动该过程会将文件的第一个包含/include_once视为第一个包含,因为这是自脚本新运行以来首次包含它。 在这种情况下,您回到原点,所有值都设置回默认值或未设置。