需要/包含的反向功能

时间:2013-12-24 08:40:26

标签: php

是否有任何函数可以恢复require / require_once / include / include_once?

例如在脚本A中,我需要一个脚本B,它具有其他脚本C的常用功能,我不知道以前是否需要C。所以我想在加载B之前从内存中“清理”脚本C,以防止重复的功能。

4 个答案:

答案 0 :(得分:3)

你不能 - 也不应该那样做。而是使用require_once - 这样的操作是安全的。请注意,包含后您的上下文将被更改 - 因此无法撤消"反向"可以应用它。

如果要覆盖某些功能 - 您可以随时执行此操作,它将正常工作。你应该在宣布之前检查一下:

答案 1 :(得分:3)

不是我知道的。

老实说,我的建议(假设你正在“清理”某些代码)将抽象出脚本B和脚本C的常用功能到另一个脚本D中,并在脚本B和C中使用require_once / include_once。

答案 2 :(得分:2)

这不是它的工作原理。但是,您可以使用以下命令阻止函数库发生函数命名冲突:

if (!function_exists('myfunction')) {
    function myfunction($param) {
        // ...
    }
}

也就是说,如果你还没有在任何地方使用require_once / include_once(你应该)。

答案 3 :(得分:2)

您可以对文件命名空间以防止冲突:

<?php

namespace Foo {
    function test() {
        return __NAMESPACE__ . '::' . __FUNCTION__;
    }
}

namespace Bar {
    function test() {
        return __NAMESPACE__ . '::' . __FUNCTION__;
    }
}

namespace Baz {
  var_dump(array(
      \Foo\test(),
      \Bar\test(),    
  ));
}

https://eval.in/82425