Property proxy API
A facility to manage extension object properties tied to C-struct members
php_propro_api.c File Reference
#include <php.h>
#include <ext/standard/info.h>
#include "php_propro_api.h"
Include dependency graph for php_propro_api.c:

Macros

#define DEBUG_PROPRO   0
 
#define debug_propro(l, f, obj, off, val)
 

Functions

php_property_proxy_tphp_property_proxy_init (zval *container, zend_string *member)
 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...
 
php_property_proxy_object_tphp_property_proxy_object_new_ex (zend_class_entry *ce, php_property_proxy_t *proxy)
 Instantiate a new php\PropertyProxy with proxy. More...
 
zend_object * php_property_proxy_object_new (zend_class_entry *ce)
 Instantiate a new php\PropertyProxy. More...
 
 ZEND_END_ARG_INFO ()
 
 PHP_MINFO_FUNCTION (propro)
 

Variables

zend_module_entry propro_module_entry
 

Macro Definition Documentation

#define DEBUG_PROPRO   0
#define debug_propro (   l,
  f,
  obj,
  off,
  val 
)

Function Documentation

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

Parameters
proxya pointer to the allocated property proxy
zend_class_entry* php_property_proxy_get_class_entry ( void  )

Get the zend_class_entry of php\PropertyProxy.

Returns
the class entry pointer
php_property_proxy_t* php_property_proxy_init ( zval *  container,
zend_string *  member 
)

Create a property proxy.

The property proxy will forward reads and writes to itself to the proxied property with name member_str of container.

Parameters
containerthe container holding the property
memberthe name of the proxied property
Returns
a new property proxy
zend_object* php_property_proxy_object_new ( zend_class_entry *  ce)

Instantiate a new php\PropertyProxy.

Parameters
cethe property proxy or derived class entry
Returns
the zend object

Here is the call graph for this function:

php_property_proxy_object_t* php_property_proxy_object_new_ex ( zend_class_entry *  ce,
php_property_proxy_t proxy 
)

Instantiate a new php\PropertyProxy with proxy.

Parameters
cethe property proxy or derived class entry
proxythe internal property proxy
Returns
the property proxy

Referenced by php_property_proxy_object_new().

Here is the caller graph for this function:

ZEND_END_ARG_INFO ( )

Variable Documentation

zend_module_entry propro_module_entry
Initial value:
= {
STANDARD_MODULE_HEADER,
"propro",
propro_functions,
PHP_MINIT(propro),
NULL,
NULL,
NULL,
PHP_MINFO(propro),
"2.0.0dev" ,
STANDARD_MODULE_PROPERTIES
}