Я бы просто не выставлял все функции. Если это не ваше расширение, просто сделайте то, что делает Zend - вызовите get_module()
, получите описания функций и указатели функций.
Однако, если это ваше расширение, подумайте, нацелены ли вы в основном на PHP, C ++ или хотите поддерживать то, что вам мешает.
Если вы в основном ориентированы на PHP и доступ к C ++ является исключением, просто делайте то, что делает Zend. В обоих других случаях вам следует использовать ядро C ++ с небольшим интерфейсом для PHP - генераторы интерфейса, такие как SWIG , могут упростить вашу работу и сгенерировать для вас интерфейс PHP.