Получить все свойства кроме статических - PullRequest
0 голосов
/ 11 мая 2018

Я пытался:

$rc = new \ReflectionClass($this);
$rc->getProperties(ReflectionProperty::IS_PUBLIC || ReflectionProperty::IS_PRIVATE || ReflectionProperty::IS_PROTECTED)

Но все, что он сделал, это дало мне одно static свойство, которое есть у класса.Он имеет 3 private и один static.Я просто хочу знать, как отсеять static.

1 Ответ

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

Ваши static свойства также public, private или protected, поэтому он также возвращает их. Вам нужно проверить каждое свойство с isStatic():

foreach($rc->getProperties() as $prop) {
    if(!$prop->isStatic()) {  // or $prop->isStatic() === false
        $result[] = $prop;
    }
}

getProperties() по умолчанию для всех свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...