0

コードは次のとおりです。

<?php 
   class class1{ 
      public function fun1
      { 
         function fun2
         { 
             echo 'Hello';
         } 
      } 
   } 
   class class2{ 
      //calling fun2 
   } 
?>

class2で関数fun2を呼び出すことはできますか?

4

1 に答える 1

2

はい、注文が正しく維持されていれば可能です。

class test1
{
    public function doSomething()
    {
        function doSomethingElse()
        {
            echo "doSomethingElse called\n";
        }
    }
}

class test2
{
    public function doSomething()
    {
        doSomethingElse();
    }
}

$t1 = new test1();
$t1->doSomething();

$t2 = new test2();
$t2->doSomething(); // "doSomethingElse called\n";
doSomethingElse(); // "doSomethingElse called\n";

を呼び出す$t1->doSomething();と、ネストされたdoSomethingElse()関数がロードされます。最初に呼び出さなかった場合$t1->doSomething();、ネストされた関数を呼び出そうとすると、まだ存在しないためエラーが発生します。

// 簡単な答えです。これが可能な方法/理由の詳細については、マニュアルを参照してください

于 2013-01-13T02:19:25.813 に答える