X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=v1.0.x%2Fphp__propro_8h.html;fp=v1.0.x%2Fphp__propro_8h.html;h=ed1ee77777cc0587796520ec0d120bf0992141fa;hb=81669568e8efb556df803a2bb02afd93764f4868;hp=d89ae2aada9f61cb4200d27e562123b533a42f66;hpb=1d9bb866738b09085bc6f387e83690c16d26c762;p=m6w6%2Fext-propro diff --git a/v1.0.x/php__propro_8h.html b/v1.0.x/php__propro_8h.html index d89ae2a..ed1ee77 100644 --- a/v1.0.x/php__propro_8h.html +++ b/v1.0.x/php__propro_8h.html @@ -3,22 +3,24 @@
- ++ |
Property proxy API
A facility to manage extension object properties tied to C-struct members
@@ -38,14 +40,13 @@
|
#include "php_propro_api.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... | |
+Macros | |
#define | phpext_propro_ptr &propro_module_entry |
#define | PHP_PROPRO_VERSION "1.0.1" |
#define | PHP_PROPRO_API extern |
-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. |
+Variables | ||
zend_module_entry | propro_module_entry | |
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 | -) | -+ | #define PHP_PROPRO_API extern |
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 | -|
- | ) | -+ | #define PHP_PROPRO_VERSION "1.0.1" |
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 | ) | -+ | #define phpext_propro_ptr &propro_module_entry |
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 | -|
- | ) | -+ | zend_module_entry propro_module_entry |
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 |