|
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().
