Как получить доступ к объектам с помощью строки? - PullRequest
0 голосов
/ 05 мая 2018

Мне известен динамический доступ к свойствам объекта с использованием строки, например,

$obj->{$string};

А как же сами объекты?

Как у меня есть строка

$obj = '$model->property';

Как это использовать?

Например, в операторе if, иметь что-то вроде

if($model->property) но используя эту строку?

Пробовал if({$obj}), if(${$obj}) ... ничего не работает.

Не знаю, возможно ли это, но, может быть,?

1 Ответ

0 голосов
/ 05 мая 2018

Я создал небольшой тестовый набор ...

class A {
    public $b = 5;
}

$test = new A();
$var = "test";
echo ${$var}->b;

Я думаю, что эта последняя строка - твоя после.

Обновление:

Если вам нужны объект и свойство, то самое близкое, что я могу получить, это использовать ...

class A {
    public $b = 5;
}

$test = new A();
$var = "test->b";
list($var, $property) = explode("->", $var);
echo ${$var}->$property;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...