Фигурные скобки используются для обозначения строки или переменной интерполяции в PHP. Это позволяет вам создавать «переменные функции», которые могут позволить вам вызывать функцию, не зная, на самом деле она.
Используя это, вы можете создать свойство на объекте почти как вы бы массив:
$property_name = 'foo';
$object->{$property_name} = 'bar';
// same as $object->foo = 'bar';
Или вы можете вызвать один из множества методов, если у вас есть какие-то REST класса API:
$allowed_methods = ('get', 'post', 'put', 'delete');
$method = strtolower($_SERVER['REQUEST_METHOD']); // eg, 'POST'
if (in_array($method, $allowed_methods)) {
return $this->{$method}();
// return $this->post();
}
Он также используется в строках более легко идентифицировать интерполяции, если вы хотите:
$hello = 'Hello';
$result = "{$hello} world";
Конечно, это упрощения. Цель вашего примера кода - запустить одно из нескольких функций в зависимости от значения $result['code']
.
Спасибо, я нашел это объяснение очень понятным и широким. – Tarik
В вашем первом примере просто написать '$ object -> $ property_name = 'bar'' будет тот же самый эффект. Я полагаю, что фигурные скобки необходимы только тогда, когда это нетривиальное выражение – Cruncher