我想知道內調用get_class_methods得到一個孩子的私有方法,如果有辦法得到這個工作:如何通過父類
<?php
class Foo
{
public function getMethods()
{
$methods = get_class_methods($this);
print_r($methods);
}
}
class Bar extends Foo
{
private function privateFunction() {} // Not visible for parent::getMethods()
}
$Bar = new Bar();
$Bar->getMethods();
?>
有一個父類Foo,其中我有一個方法調用get_class_methods($ this) - 函數。我會一直用幾個不同的Bar-Classes擴展Foo-Class。我的問題是,我看不到私有方法privateFunction()。
我的目標是看到Bar的所有方法,但我不想重新創建每個子類中的getMethods()方法。
那麼有沒有辦法讓它們在父類中,還是我必須覆蓋每個子類中的getMethods()方法?
什麼保護的,而不是私人? – Random
@Random會工作是的,但這意味着我要編輯所有現有的子類,我不能讓方法私有的子類兒童類 – MIB
我認爲你必須重載父類方法,重新定義所有孩子的私人方法...問題是私人關鍵字,迫使你做你這兩個解決方案之一...私人是非常限制... – Random