Skip navigation.
Home

INIT_OVERLOADED_CLASS_ENTRY_EX()

Sets the properties of a class container

INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, functions, handle_fcall, handle_propget, handle_propset, handle_propunset, handle_propisset)

Parameters:

type parameter description
zend_class_entry class_container The container in which to store this class type
char* class_name The name of the class as seen in userspace
zend_function_entry[] functions Array of methods
handle_fcall
handle_propget
handle_propset
handle_propunset
handle_propisset

In addition to the container properties that can be set using the parameters of this macro, several others are initialized.
Here is the complete list:

  • name: a copy of the string given by the class_name parameter
  • name_length: the size of the class_name parameter minus the NULL byte
  • builtin_functions: array from the functions parameter
  • constructor: NULL
  • destructor: NULL
  • clone: NULL
  • serialize: NULL
  • unserialize: NULL
  • create_object: NULL
  • interface_gets_implemented: NULL
  • __call: form the handle_fcall parameter
  • __tostring: NULL
  • __get: from the handle_propget parameter
  • __set: from the handle_propset parameter
  • __unset: from the handle_propunset parameter
  • __isset: from the handle_propisset parameter
  • serialize_func: NULL
  • unserialize_func: NULL
  • parent: NULL
  • num_interfaces: 0
  • interfaces: NULL
  • get_iterator: NULL
  • iterator_funcs.funcs: NULL
  • module: NULL