pub type ZendObjectHandlers = zend_object_handlers;Expand description
A set of functions associated with a PHP class.
Aliased Type§
#[repr(C)]pub struct ZendObjectHandlers {Show 25 fields
pub offset: i32,
pub free_obj: Option<unsafe extern "C" fn(*mut _zend_object)>,
pub dtor_obj: Option<unsafe extern "C" fn(*mut _zend_object)>,
pub clone_obj: Option<unsafe extern "C" fn(*mut _zend_object) -> *mut _zend_object>,
pub read_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, i32, *mut *mut c_void, *mut _zval_struct) -> *mut _zval_struct>,
pub write_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, *mut _zval_struct, *mut *mut c_void) -> *mut _zval_struct>,
pub read_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, i32, *mut _zval_struct) -> *mut _zval_struct>,
pub write_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, *mut _zval_struct)>,
pub get_property_ptr_ptr: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, i32, *mut *mut c_void) -> *mut _zval_struct>,
pub has_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, i32, *mut *mut c_void) -> i32>,
pub unset_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, *mut *mut c_void)>,
pub has_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, i32) -> i32>,
pub unset_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct)>,
pub get_properties: Option<unsafe extern "C" fn(*mut _zend_object) -> *mut _zend_array>,
pub get_method: Option<unsafe extern "C" fn(*mut *mut _zend_object, *mut _zend_string, *const _zval_struct) -> *mut _zend_function>,
pub get_constructor: Option<unsafe extern "C" fn(*mut _zend_object) -> *mut _zend_function>,
pub get_class_name: Option<unsafe extern "C" fn(*const _zend_object) -> *mut _zend_string>,
pub cast_object: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, i32) -> i32>,
pub count_elements: Option<unsafe extern "C" fn(*mut _zend_object, *mut i64) -> i32>,
pub get_debug_info: Option<unsafe extern "C" fn(*mut _zend_object, *mut i32) -> *mut _zend_array>,
pub get_closure: Option<unsafe extern "C" fn(*mut _zend_object, *mut *mut _zend_class_entry, *mut *mut _zend_function, *mut *mut _zend_object, bool) -> i32>,
pub get_gc: Option<unsafe extern "C" fn(*mut _zend_object, *mut *mut _zval_struct, *mut i32) -> *mut _zend_array>,
pub do_operation: Option<unsafe extern "C" fn(u8, *mut _zval_struct, *mut _zval_struct, *mut _zval_struct) -> i32>,
pub compare: Option<unsafe extern "C" fn(*mut _zval_struct, *mut _zval_struct) -> i32>,
pub get_properties_for: Option<unsafe extern "C" fn(*mut _zend_object, u32) -> *mut _zend_array>,
}Fields§
§offset: i32§free_obj: Option<unsafe extern "C" fn(*mut _zend_object)>§dtor_obj: Option<unsafe extern "C" fn(*mut _zend_object)>§clone_obj: Option<unsafe extern "C" fn(*mut _zend_object) -> *mut _zend_object>§read_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, i32, *mut *mut c_void, *mut _zval_struct) -> *mut _zval_struct>§write_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, *mut _zval_struct, *mut *mut c_void) -> *mut _zval_struct>§read_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, i32, *mut _zval_struct) -> *mut _zval_struct>§write_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, *mut _zval_struct)>§get_property_ptr_ptr: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, i32, *mut *mut c_void) -> *mut _zval_struct>§has_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, i32, *mut *mut c_void) -> i32>§unset_property: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zend_string, *mut *mut c_void)>§has_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, i32) -> i32>§unset_dimension: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct)>§get_properties: Option<unsafe extern "C" fn(*mut _zend_object) -> *mut _zend_array>§get_method: Option<unsafe extern "C" fn(*mut *mut _zend_object, *mut _zend_string, *const _zval_struct) -> *mut _zend_function>§get_constructor: Option<unsafe extern "C" fn(*mut _zend_object) -> *mut _zend_function>§get_class_name: Option<unsafe extern "C" fn(*const _zend_object) -> *mut _zend_string>§cast_object: Option<unsafe extern "C" fn(*mut _zend_object, *mut _zval_struct, i32) -> i32>§count_elements: Option<unsafe extern "C" fn(*mut _zend_object, *mut i64) -> i32>§get_debug_info: Option<unsafe extern "C" fn(*mut _zend_object, *mut i32) -> *mut _zend_array>§get_closure: Option<unsafe extern "C" fn(*mut _zend_object, *mut *mut _zend_class_entry, *mut *mut _zend_function, *mut *mut _zend_object, bool) -> i32>§get_gc: Option<unsafe extern "C" fn(*mut _zend_object, *mut *mut _zval_struct, *mut i32) -> *mut _zend_array>§do_operation: Option<unsafe extern "C" fn(u8, *mut _zval_struct, *mut _zval_struct, *mut _zval_struct) -> i32>§compare: Option<unsafe extern "C" fn(*mut _zval_struct, *mut _zval_struct) -> i32>§get_properties_for: Option<unsafe extern "C" fn(*mut _zend_object, u32) -> *mut _zend_array>Implementations§
Source§impl ZendObjectHandlers
impl ZendObjectHandlers
Sourcepub fn new<T: RegisteredClass>() -> ZendObjectHandlers
pub fn new<T: RegisteredClass>() -> ZendObjectHandlers
Creates a new set of object handlers based on the standard object handlers.
Sourcepub unsafe fn init<T: RegisteredClass>(ptr: *mut ZendObjectHandlers)
pub unsafe fn init<T: RegisteredClass>(ptr: *mut ZendObjectHandlers)
Initializes a given set of object handlers by copying the standard
object handlers into the memory location, as well as setting up the
T type destructor.
§Parameters
ptr- Pointer to memory location to copy the standard handlers to.
§Safety
Caller must guarantee that the ptr given is a valid memory location.
§Panics
- If the offset of the
Ttype is not a validi32value.