Получить имя класса из Php::Value в PHP-CPP

Работая над небольшим расширением для PHP с использованием PHP-CPP, я получаю на стороне C++ массив с объектами, и мне нужно получить его имя класса. У объекта Php::Value, похоже, нет никакого метода для этого.

Как и в HNI в этом расширении: https://github.com/mcuadros/bson-hni/blob/master/src/encode.cpp#L86

1 ответ

Решение

Вы правы, специального метода для определения имени класса в C++ в объекте Php::Value не существует. Таким образом, лучший способ определить имя класса - использовать метод Php:: call для вызова метода get_class в пользовательском пространстве PHP:

std::string classname = Php::call("get_class", object);

Где объект является одним из объектов в упомянутом массиве.

Другие вопросы по тегам