在类中:从函数B访问函数A.

时间:2012-12-14 13:11:53

标签: php

我有一个问题可能不适合大多数人。 对不起,如果对你来说很明显......

这是我的代码:

class Bat
{
      public function test()
      {
        echo"ici";
        exit();
      }

      public function test2()
      {
        $this->test();
      }
}

在我的控制器中:

bat::test2();

我有一个错误:

  

异常信息:消息:方法“test”不存在且是   没有被困在__call()

1 个答案:

答案 0 :(得分:1)

Bat :: test2是指静态函数。所以你必须声明它是静态的。

class Bat
{
      public static function test()
      {
        echo"ici";
        exit();
      }

      // You can call me from outside using 'Bar::test2()'
      public static function test2()
      {
        // Call the static function 'test' in our own class
        // $this is not defined as we are not in an instance context, but in a class context
        self::test();
      }
}

Bat::test2();

否则,您需要Bat的实例并在该实例上调用该函数:

$myBat = new Bat();
$myBat->test2();