Type Alias ext_php_rs::zend::ZendObjectHandlers
source · pub type ZendObjectHandlers = zend_object_handlers;
Expand description
A set of functions associated with a PHP class.
Aliased Type§
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.