代码之家  ›  专栏  ›  技术社区  ›  benizi vartec

防止PHP需要运行一次

  •  3
  • benizi vartec  · 技术社区  · 16 年前

    调试其他人的PHP代码时,我希望有选择地重写他们的一个类。课程包括:

    require_once('classname.php');
    

    但是,这在应用程序中的不同位置出现。我宁愿“模拟”这个 require_once ,这样它就永远不会跑了。一、 e.定义 class classname 我想要的。然后,下次文件是 需要一次

    我可以自己创建一个classname.php文件,但我宁愿将正在进行的测试包含在一个文件中,因为我可能正在为许多类执行此操作,而且我希望更容易控制重写。

    在Perl中,我想做的是:

    $INC{'classname.pm'} = 1;
    

    有没有一种方法可以访问与Perl等价的PHP %INC ?

    更新

    我的解决办法是 runkit runkit_method_redefine

    require_once('classname.php');
    runkit_method_redefine('classname','method','$params','return "testdata";');
    
    3 回复  |  直到 16 年前
        1
  •  2
  •   el.pescado - нет войне    16 年前

    地点:

    <?php return; ?>
    

    在最顶端 classname.php

        2
  •  0
  •   Gate    16 年前

    然后,下次需要重新加载文件时,它将被标记为已加载,因此不会重新加载。

    需要你为你做一次。。

    另外,你可以用一些像

    if(!class_exists("my_class")) {
      class my_class {}  // define your class here
    }
    
        3
  •  0
  •   Daniel    16 年前

    你可以做两件事:

    2) 进入类文件,在定义另一个类之前包含您的类并返回。

    推荐文章