2017-03-23 6 views
0

Ich möchte eine andere Methode von einer Methode in meiner Klasse aufrufen, aber ich weiß nicht wie:/Wie Methode in Methode aufrufen?

Ich habe ein Array: ['header', 'navbar', null, 'Fußzeile' ]

I Methoden in Array-String im Zusammenhang nennen möchte

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]

Ty für

Gemeinschaft überprüfen
+5

Verwenden Sie '$ this -> $ v()' –

Antwort

0

Nur wenn prov ided Methode existiert (method_exists), wenn ja dann rufen:

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

Oder können Sie call_user_func Funktion

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

In PHP OOP verwenden, können Sie eine Funktion mit $this->functionName($etc) nennen. Wenn Sie Grundkenntnisse in anderen Programmiersprachen (insbesondere OOP) haben, ist $this-> wie . (dot) Operator.

Verwandte Themen