php语法,对象调用动态的成员属性和方法

遇到一个这样的情况,一个对象 $obj 需要调用一个成员方法,而这个方法是动态指派的,以前不知道怎么调用,最近在laravel源码发现了这种调用,就是使用大括号。

class Demo{
    public $method;

    public function setMethod(){
        $this->method = 'action';
        return $this;
    }

    public function action(){
        echo 'here';
    }

    public function stat(){
        // 使用大括号
        $this->{$this->method}();
    }
}

$obj = new Demo();

$obj->setMethod()->stat();
发布了412 篇原创文章 · 获赞 25 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/raoxiaoya/article/details/103454233