Что в brakets значит, и где читать больше
return $container->{$resource};
Что в brakets значит, и где читать больше
return $container->{$resource};
Две возможности:
$ resource = "score"; // задайте имя динамически
return $ container -> {$ resource}; // то же, что и return $ container-> score;
опечатка/ошибка начинающий
программист имел в виду печатать:
return $container->resource; // returns resource public member variable
Это вряд ли будет опечаткой. Было бы сложно «заманить» знак доллара и два скобки и не заметить. –
Правда. {} Трудно вводить, но я видел много ошибок, когда тип программиста возвращает $ container -> $ resource; – Yada
Скобки должны использовать переменные переменных. Это делает его легче различать:
// gets the value of the "resource" member from the container object
$container->resource;
и
// gets the value of the "foo" member from the container object
$resource = 'foo';
$container->$resource;
Вы можете прочитать здесь: http://php.net/manual/en/language.variables.variable.php
Пожалуйста, игнорируйте первоначальный ответ Safraz», так как PHP-код не будет оценен, когда в одиночном кавычки. Однако это * будет * оцениваться: 'echo '{$ container -> $ resource}"; '. Он будет оцениваться как свойство объекта '$ container'. Имя свойства - это значение '$ resource'. Ваш пример, однако, не даст ожидаемого результата при двойных кавычках. См. Ответ Yada для получения дополнительной информации: http://stackoverflow.com/questions/2302531/what-does-return-container-resource-mean/2302545#2302545 –