像{variable}(variable | array)语句这样的括号在php中意味着什么?

像{variable}(variable | array)语句这样的括号在php中意味着什么?,php,syntax,brackets,curly-braces,Php,Syntax,Brackets,Curly Braces,我不能用谷歌搜索这个。问题, public function processAPI() { if (method_exists($this, $this->endpoint)) { return $this->_response($this->{$this->endpoint}($this->args)); } return $this->_response("No Endpoint: $this->endpoin

我不能用谷歌搜索这个。问题,

public function processAPI() {
    if (method_exists($this, $this->endpoint)) {
        return $this->_response($this->{$this->endpoint}($this->args));
    }
    return $this->_response("No Endpoint: $this->endpoint", 404);
}
考虑到
$endpoint
是一个变量,
$args
是一个类的数组。我们希望将变量
$this->{$this->endpoint}($this->args)
传递给
\u response()
方法。
{$this->endpoint}($this->args)
在php语法中是什么意思

代码完整定义的链接:

分而治之:

$this->_response()
表示使用参数调用当前对象的方法_response()

$this->{$this->endpoint}($this->args)
下面解释了花括号:

任何带有字符串的标量变量、数组元素或对象属性 可以通过此语法包含表示。只需写下 表达式的显示方式与它在字符串外部的显示方式相同,并且 然后用{和}把它包起来。由于{不能转义,因此此语法将 仅当$紧跟在{后面时才能识别。使用{\$to 获取一个文本{$

因此{$this->endpoint}的计算结果是一个字符串,该字符串以前被设置为当前对象的endpoint属性

$this->endpointproperty($this->args)
当前对象中必须有接受一个参数的方法终结点属性。此参数也是此对象的属性:

$this->args
分而治之:

$this->_response()
表示使用参数调用当前对象的方法_response()

$this->{$this->endpoint}($this->args)
下面解释了花括号:

任何带有字符串的标量变量、数组元素或对象属性 可以通过此语法包含表示 表达式的显示方式与它在字符串外部的显示方式相同,并且 然后将其包装在{和}中 仅当$紧跟在{后面时才能识别。使用{\$to 获取一个文本{$

因此{$this->endpoint}的计算结果是一个字符串,该字符串以前被设置为当前对象的endpoint属性

$this->endpointproperty($this->args)
当前对象中必须有接受一个参数的方法终结点属性。此参数也是此对象的属性:

$this->args

如果这还不是一个副本,那么应该添加到它中,这是因为使用了-或者在本例中使用了变量方法名instead@zzzzBov这在链接的问题中没有涉及,或者我只是在那里找不到它?@kingkero,我没有看到我链接的问题中涉及到它,但是我在那里可能的问题是,这是一个可能的重复项的重复项。如果这不是一个重复项,则应将其添加到此项中,因为使用了-或者在本例中使用了变量方法名称。但据我所知,这是一个不好的做法,您可以使用instead@zzzzBov这个问题没有包含在链接的问题中,或者我就是找不到它re?@kingkero,我在我链接的问题中没有看到它,但可能有其他问题,这是它的一个副本,可能的副本意味着我可以调用该方法,因为它的名称在我的$endpoint变量中。如果api调用类似“../cars/mercedes/2015”,这意味着我有一个cars()方法,我正在传递['mercedes,'2015']谢谢。这意味着我可以调用$endpoint变量中的方法。如果api调用类似于“../cars/mercedes/2015”,这意味着我有一个cars()方法,我将向它传递['mercedes,'2015']array.omg。谢谢。