1. ホーム
  2. php

PHPでsuperを呼び出すには?

2023-11-06 16:11:52

質問

私は classB を拡張する classA .

の両方において classA classB メソッドを定義しています。 fooBar() .

fooBar()classB を呼び出したいのですが fooBar()classA を冒頭に置く。

ちょうど私がObjective-Cから慣れ親しんでいる方法です。PHPでそれは可能ですか?そして、もしそうなら、どのように?

どのように解決するのですか?

parent::fooBar();

そのまま マニュアル :

ダブルコロン、は、クラスの...オーバーライドされたプロパティまたはメソッドにアクセスすることを可能にするトークンです。

...

例3 親のメソッドを呼び出す

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Override parent's definition
    public function myFunc()
    {
        // But still call the parent function
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>