在函数中返回parent :: function

时间:2013-09-05 10:14:31

标签: php function class oop return-value

class Test extends Parent {
   $a = 1;

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

}

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

谢谢......! ; d

1 个答案:

答案 0 :(得分:4)

这将调用父类中的函数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!

该示例来自the PHP documentation,你真的应该看一下。