微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-如何以及为什么使用花括号:return $this-> {$this-> action}();

因此,在第一部分中,我制作了2个对象,实例化了两个类(我们从createController函数生成一个类)

$loader = new Loader(); 
$controller = $loader->createController(); 
$controller->executeAction();

方法executeAction代码

public function executeAction() {
    return $this->{$this->action}();
}

我的问题是采用以下代码行:$this-> {$this-> action}()此方法调用方式以及为什么使用花括号;试图执行action();扩展类的功能呢?

解决方法:

$this->{$this->action}();

表示应调用方法来自属性$this-> action.

$this->action = 'func1';
$this->{$this->action}();

等效于:

$this->func1();

有关更多示例,请参见PHP文档variable variablesvariable functions.需要大括号是因为$this-> $this-> action()通常被视为($this-> $this)-> action().

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐