Property proxy API
A facility to manage extension object properties tied to C-struct members
|
#include "php_propro.h"
Go to the source code of this file.
Data Structures | |
struct | php_property_proxy |
The internal property proxy. More... | |
struct | php_property_proxy_object |
The userland object. More... | |
Typedefs | |
typedef struct php_property_proxy | php_property_proxy_t |
typedef struct php_property_proxy_object | php_property_proxy_object_t |
Functions | |
php_property_proxy_t * | php_property_proxy_init (zval *container, const char *member_str, size_t member_len) |
Create a property proxy. More... | |
void | php_property_proxy_free (php_property_proxy_t **proxy) |
Destroy and free a property proxy. More... | |
zend_class_entry * | php_property_proxy_get_class_entry (void) |
Get the zend_class_entry of php\PropertyProxy. More... | |
zend_object_value | php_property_proxy_object_new (zend_class_entry *ce) |
Instantiate a new php\PropertyProxy. More... | |
zend_object_value | php_property_proxy_object_new_ex (zend_class_entry *ce, php_property_proxy_t *proxy, php_property_proxy_object_t **ptr) |
Instantiate a new php\PropertyProxy with proxy. More... | |
struct php_property_proxy |
struct php_property_proxy_object |
The userland object.
Return an object instance of php\PropertyProxy to make your C-struct member accessible by reference from PHP userland.
Example:
Data Fields | ||
---|---|---|
struct php_property_proxy_object * | parent | A reference to any parent property proxy object. |
php_property_proxy_t * | proxy | The actual property proxy. |
zend_object | zo | The std zend_object. |
zend_object_value | zv | The object value for easy zval creation. |
typedef struct php_property_proxy_object php_property_proxy_object_t |
typedef struct php_property_proxy php_property_proxy_t |
void php_property_proxy_free | ( | php_property_proxy_t ** | proxy | ) |
Destroy and free a property proxy.
The destruction of the property proxy object calls this.
proxy | a pointer to the allocated property proxy |
zend_class_entry* php_property_proxy_get_class_entry | ( | void | ) |
Get the zend_class_entry of php\PropertyProxy.
php_property_proxy_t* php_property_proxy_init | ( | zval * | container, |
const char * | member_str, | ||
size_t | member_len | ||
) |
Create a property proxy.
The property proxy will forward reads and writes to itself to the proxied property with name member_str of container.
container | the container holding the property |
member_str | the name of the proxied property |
member_len | the length of the name |
zend_object_value php_property_proxy_object_new | ( | zend_class_entry * | ce | ) |
Instantiate a new php\PropertyProxy.
ce | the property proxy or derived class entry |
zend_object_value php_property_proxy_object_new_ex | ( | zend_class_entry * | ce, |
php_property_proxy_t * | proxy, | ||
php_property_proxy_object_t ** | ptr | ||
) |
Instantiate a new php\PropertyProxy with proxy.
ce | the property proxy or derived class entry |
proxy | the internal property proxy |
ptr | a pointer to store the resulting property proxy object |
Referenced by php_property_proxy_object_new().