Hello,
I’m considering adding some C++ enhancements to the Zend API. These changes
would be encapsulated within `#ifdef __cplusplus` guards, so they wouldn’t
interfere with the existing C implementation. The primary goal is to
provide a nicer interface for extensions while maintaining compatibility
with C.
Key points:
- **Struct-based Approach:** Everything will still use structs—no classes
or non-public/non-static members.
- **Isolation:** Any enhancements that can be isolated from the C
implementation will be, and they will reside in a common `zend_api_cxx`
header file.
- **Proposed Enhancements:**
- Constructors and destructors, along with comparison operator overloads
for `zval`.
- Constructor overloads for common `zval` initializations.
- Member methods for common `zval` operations.
I’m happy to implement and maintain these changes. Since this doesn’t
affect userland, do you think an RFC is necessary?
Also, if anyone has suggestions or ideas for this C++ API, I’d love to hear
them.
Cheers,
Lanre