X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-propro;a=blobdiff_plain;f=html%2Fphp__propro_8h.html;fp=html%2Fphp__propro_8h.html;h=12ec79e87ce1727190074676d89f7effb2a25fdb;hp=0000000000000000000000000000000000000000;hb=36da2074d28309d1704b47e121f432fcdaf8a245;hpb=6efaa7c324c0bb32883fa7439182d5f8d0736f6b diff --git a/html/php__propro_8h.html b/html/php__propro_8h.html new file mode 100644 index 0000000..12ec79e --- /dev/null +++ b/html/php__propro_8h.html @@ -0,0 +1,464 @@ + + +
+ + + +
+ Property proxy API
+
+ A facility to manage extension object properties tied to C-struct members
+ |
+
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 |