Я не мог гуглить этот. Вопрос;
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)
в _response()
метод. Что значит {$this->endpoint}($this->args)
значит в синтаксисе php?
Ссылка полного определения кода: http://coreymaynard.com/blog/creating-a-restful-api-with-php/
$this->_response($this->{$this->endpoint}($this->args));
Разделяй и властвуй
$this->_response()
Означает вызов метода _response () текущего объекта с аргументом
$this->{$this->endpoint}($this->args)
Фигурные скобки объясняются здесь: http://php.net/manual/en/language.types.string.php
Любая скалярная переменная, элемент массива или свойство объекта со строкой
представление может быть включено через этот синтаксис. Просто напиши
выражение так же, как это выглядит за пределами строки, и
затем заверните его в {и}. Поскольку {не может быть экранирован, этот синтаксис будет
распознаваться только тогда, когда $ следует сразу за {. Используйте {\ $ для
получить буквальный {$.
Поэтому {$ this-> endpoint} вычисляется как строка, которая ранее была задана как свойство конечной точки текущего объекта.
$this->endpointproperty($this->args)
В текущем объекте должно быть свойство конечной точки метода, которое принимает один аргумент. Этот аргумент также является свойством этого объекта:
$this->args
Других решений пока нет …