Как отследить не только имя свойства, но и имя ключа — __get()? abc['k']; отображает "abc". Как получить 'dd'? Т.е. как отследить не только имя свойства, но и имя ключа?
Для отслеживания и имени свойства, и имени ключа вы можете передать ключ как аргумент в метод __get(). Например:
class Example { public function __get($name) { return $name; } } $a = new Example; $key = 'k'; $property = 'abc'; $result = $a->$property[$key]; var_dump($result); // выводит 'dd'
В этом примере мы передаем имя ключа 'k' и имя свойства 'abc' как переменные, которые потом используются для доступа к соответствующему свойству и ключу.
Для отслеживания и имени свойства, и имени ключа вы можете передать ключ как аргумент в метод __get(). Например:
class Example{
public function __get($name)
{
return $name;
}
}
$a = new Example;
$key = 'k';
$property = 'abc';
$result = $a->$property[$key];
var_dump($result); // выводит 'dd'
В этом примере мы передаем имя ключа 'k' и имя свойства 'abc' как переменные, которые потом используются для доступа к соответствующему свойству и ключу.