4
class Test extends Parent {
   $a = 1;

   public function changeVarA() {
       $a = 2;
       return parent::changeVarA();
   }

}

任何人都可以解释return parent::function();它的作用吗?

谢谢...!;D

4

1 回答 1

7

这将调用changeVarA父类中的函数。

当一个类扩展另一个类并且两者具有相同的函数名时,parent::调用会强制调用和使用该函数的父版本。它的返回部分将简单地返回父函数完成后返回的任何内容:

<?php
class A {
    function example() {
    echo "Hello Again!\n";
    }
}

class B extends A {
    function example() {
    echo "Hello World\n";
    parent::example();
    }
}

$b = new B;

// This will call B::example(), which will in turn call A::example().
$b->example();
?>

输出:

Hello World
Hello Again!

该示例取自您真正应该查看的 PHP 文档。

于 2013-09-05T10:22:35.130 回答