使用新的ReflectMethod时,全局变量在php中不起作用

时间:2013-09-19 12:13:52

标签: php php-5.4

我在使用全局变量时遇到一些错误。 我在全局范围内定义了一个$ var并尝试在函数中使用它但在那里无法访问它。请参阅以下代码以获得更好的解释:

档案a.php:

<?php

  $tmp = "testing";

  function testFunction(){
     global $tmp;
     echo($tmp);
  }

关于如何调用此函数的一些内容。

文件b.php:

<?php
  include 'a.php'
  class testClass{
    public function testFunctionCall(){
        testFunction();
    }
  }

使用以下方法调用上述'b.php':

$method = new ReflectionMethod($this, $method);
$method->invoke();

现在所需的输出是'测试'但接收的输出是NULL。

提前感谢您的帮助。

我觉得这与使用ReflectionMethod有关,但我无法理解为什么它不可用的原因。

1 个答案:

答案 0 :(得分:0)

这对我来说很好。的 [TESTED] 即可。还有什么阻止你通过引用使用呼叫?

<?php
$tmp = "testing";

function testFunction(){
global $tmp;
echo($tmp);
}

class testClass
{
      public function testFunctionCall(){
          testFunction();
      }
}

$method = new ReflectionMethod($this, $method);
$method->testFunctionCall();