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 回答