0

我在使用全局变量时遇到了一些错误。我在全局范围内定义了一个 $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 的使用有关,但我不明白为什么它不可用。

4

1 回答 1

0

这对我来说很好。[测试]。此外,是什么阻止您使用引用调用?

<?php
$tmp = "testing";

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

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

$method = new ReflectionMethod($this, $method);
$method->testFunctionCall();
于 2013-09-19T13:04:18.387 回答