Чтобы избавиться от надоедливого предупреждения, у вас есть несколько вариантов:
1) ясно и читаемо:
Определите заглушку где-нибудь в вашем проекте:
class myXmlPhpRepresentation {
/** @var string */
public $childElement;
/** @var number */
public $anotherXmlProperty;
}
Тебе не нужен класс, просто имей
папка проекта для IDE для индексации.
Затем просто используйте PhpDoc, чтобы «смешать» этот класс с SimpleXMLElement:
/** @var myXmlPhpRepresentation|SimpleXMLElement $xml */
$xml = simplexml_load_string($string);
echo $xml->childElement;
Это хорошая практика: у вас будет правильно определенное и читаемое представление php вашего xml,
что поможет с автозаполнением кода и удалением предупреждения.
2) Подавить само предупреждение в строке кода:
/** @noinspection PhpUndefinedFieldInspection */
echo $xml->childElement;
Alt + Enter в предупреждении -> Параметры проверки ... -> Подавить выписку
Не очень чистый способ, но проверка поможет вам в остальной части проекта.
3) Отключить всю проверку.
Полагаю, это плохая практика, но некоторые проверки могут быть самоуверенными.