2017-03-23 155 views
0

我想調用其他方法,在我的類中的方法,但我不知道如何:I/如何在方法中調用方法?

有一個數組:[「頭」,「導航欄」,NULL,「頁腳」 ]

我想調用相關的字符串方法在陣列

public function Render(){ 
    foreach($array as $v) 
    // HERE CALL METHOD ($v) IN MY CLASS ex return: $this->header(), $this->navbar() 
} 

private function header(){ 
    //EXEMPLE FESGRDGTFDTHTs 
} 
private function navbar(){ 
    //EXEMPLE FESGRDGTFDTHTs 
} 

[ETC]

泰社區

+5

使用'$ this - > $ v()' –

回答

0

只是檢查是否省ided方法存在(method_exists),如果這樣的話把它叫做:

public function Render(){ 
    foreach($array as $v) 
     if (method_exists($this, $v)) { 
     $this->$v(); 
     } 
    } 
} 

或者你可以使用call_user_func功能

public function Render() { 
    foreach($array as $v) { 
     if (method_exists($this, $v)) { 
      call_user_func(array($this, $v)); 
     } 
    } 
} 
0

在PHP OOP,你可以調用一個函數$this->functionName($etc)。如果你有其他編程語言(特別是OOP)的基本知識,$this->就像. (dot)運營商。

相關問題