Какой смысл в данных фигурных скобках?
$obj->{$options['option.disable']} = $options['disable'];
Из документации
К свойствам класса также можно получить доступ динамически. Переменное
имя свойства будет разрешено в том контексте, в котором произойдет
вызов к нему. Например, в случае выражения $foo->$bar
, локальная
область видимости будет просканирована на наличие переменной $bar
,
значение которой будет использовано в качестве имени свойства объекта
$foo
. Это также работает и в том случае, если $bar
осуществляет доступ
к элементу массива.
Фигурные скобки могут также использоваться, чтобы четко разграничить
имя свойства. Они наиболее полезны при получении доступа к значениям
внутри свойства, которое содержит массив, когда имя свойства состоит
из нескольких частей, либо когда имя свойства содержит символы,
которые иначе не действительны (например, из функции json_decode()
или
из SimpleXML
).
Обычно фигурные скобки используются для динамического доступа к свойствам класса, то есть когда имя свойства содержится в переменной. В вашем случае, переменная содержащая имя свойства - массив. Поэтому запись без указания скобок будет неоднозначна, т.к. не ясно вы хотите получить доступ к свойству-массиву с именем $options
т.е. формально ($obj->options)['option.disable']
, либо все же $options['option.disable']
содержит имя свойства.
В общем, скобки явным образом отделяют имя свойства. Наиболее часто такая запись используется для доступа к свойствам, когда их имена не соответствуют правилам именовнаия, т.е. например содержат дефис $obj->{'some-property'}
. Такое может получится при десериализации объектов из json или xml.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть сайт на котором все страницы сделаны через SP Page Builder, нужно вывести на главной странице модуль с карточками этих страницДля материалов...
Как проверить, что на сервер пришел запрос от конкретной joomla, например, если запрос от joomla1 то выполнить код1, если нет - что-то другое?
В Yii2 ActiveRecord у модели есть статичный метод deleteAllКак сделать удаление с джоином? Например я хочу вот так сделать:
Всем привет!) Возник вопрос, в котором что то не могу нормально разобратьсяЕсть массив ссылок: