0

私はおそらくあなたのほとんどのためではない問題を抱えています。明らかな場合は申し訳ありません...

これは私のコードです:

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

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

私のコントローラーでは:

bat::test2();

エラーがあります:

例外情報:メッセージ:メソッド "test"は存在せず、__ call()にトラップされませんでした

4

1 に答える 1

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();
于 2012-12-14T13:12:59.460 に答える