如何在方法中调用方法?

时间:2017-03-23 09:38:50

标签: php

我想从课堂上的方法中调用另一种方法,但我不知道如何:/

我有一个数组:['标题',' navbar',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]

Ty for community

2 个答案:

答案 0 :(得分:0)

只检查提供的方法是否存在(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));
        }
    }
}

答案 1 :(得分:0)

在PHP OOP中,您可以使用$this->functionName($etc)调用函数。如果您具备其他编程语言的基本知识(特别是OOP),$this->就像. (dot)运算符一样。