Struct ext_php_rs::ffi::_zend_class_entry
source · #[repr(C)]pub struct _zend_class_entry {Show 45 fields
pub type_: c_char,
pub name: *mut zend_string,
pub __bindgen_anon_1: _zend_class_entry__bindgen_ty_1,
pub refcount: c_int,
pub ce_flags: u32,
pub default_properties_count: c_int,
pub default_static_members_count: c_int,
pub default_properties_table: *mut zval,
pub default_static_members_table: *mut zval,
pub static_members_table__ptr: *mut *mut zval,
pub function_table: HashTable,
pub properties_info: HashTable,
pub constants_table: HashTable,
pub mutable_data__ptr: *mut *mut zend_class_mutable_data,
pub inheritance_cache: *mut zend_inheritance_cache_entry,
pub properties_info_table: *mut *mut _zend_property_info,
pub constructor: *mut zend_function,
pub destructor: *mut zend_function,
pub clone: *mut zend_function,
pub __get: *mut zend_function,
pub __set: *mut zend_function,
pub __unset: *mut zend_function,
pub __isset: *mut zend_function,
pub __call: *mut zend_function,
pub __callstatic: *mut zend_function,
pub __tostring: *mut zend_function,
pub __debugInfo: *mut zend_function,
pub __serialize: *mut zend_function,
pub __unserialize: *mut zend_function,
pub iterator_funcs_ptr: *mut zend_class_iterator_funcs,
pub __bindgen_anon_2: _zend_class_entry__bindgen_ty_2,
pub get_iterator: Option<unsafe extern "C" fn(ce: *mut zend_class_entry, object: *mut zval, by_ref: c_int) -> *mut zend_object_iterator>,
pub get_static_method: Option<unsafe extern "C" fn(ce: *mut zend_class_entry, method: *mut zend_string) -> *mut zend_function>,
pub serialize: Option<unsafe extern "C" fn(object: *mut zval, buffer: *mut *mut c_uchar, buf_len: *mut size_t, data: *mut zend_serialize_data) -> c_int>,
pub unserialize: Option<unsafe extern "C" fn(object: *mut zval, ce: *mut zend_class_entry, buf: *const c_uchar, buf_len: size_t, data: *mut zend_unserialize_data) -> c_int>,
pub num_interfaces: u32,
pub num_traits: u32,
pub __bindgen_anon_3: _zend_class_entry__bindgen_ty_3,
pub trait_names: *mut zend_class_name,
pub trait_aliases: *mut *mut zend_trait_alias,
pub trait_precedences: *mut *mut zend_trait_precedence,
pub attributes: *mut HashTable,
pub enum_backing_type: u32,
pub backed_enum_table: *mut HashTable,
pub info: _zend_class_entry__bindgen_ty_4,
}Fields§
§type_: c_char§name: *mut zend_string§__bindgen_anon_1: _zend_class_entry__bindgen_ty_1§refcount: c_int§ce_flags: u32§default_properties_count: c_int§default_static_members_count: c_int§default_properties_table: *mut zval§default_static_members_table: *mut zval§static_members_table__ptr: *mut *mut zval§function_table: HashTable§properties_info: HashTable§constants_table: HashTable§mutable_data__ptr: *mut *mut zend_class_mutable_data§inheritance_cache: *mut zend_inheritance_cache_entry§properties_info_table: *mut *mut _zend_property_info§constructor: *mut zend_function§destructor: *mut zend_function§clone: *mut zend_function§__get: *mut zend_function§__set: *mut zend_function§__unset: *mut zend_function§__isset: *mut zend_function§__call: *mut zend_function§__callstatic: *mut zend_function§__tostring: *mut zend_function§__debugInfo: *mut zend_function§__serialize: *mut zend_function§__unserialize: *mut zend_function§iterator_funcs_ptr: *mut zend_class_iterator_funcs§__bindgen_anon_2: _zend_class_entry__bindgen_ty_2§get_iterator: Option<unsafe extern "C" fn(ce: *mut zend_class_entry, object: *mut zval, by_ref: c_int) -> *mut zend_object_iterator>§get_static_method: Option<unsafe extern "C" fn(ce: *mut zend_class_entry, method: *mut zend_string) -> *mut zend_function>§serialize: Option<unsafe extern "C" fn(object: *mut zval, buffer: *mut *mut c_uchar, buf_len: *mut size_t, data: *mut zend_serialize_data) -> c_int>§unserialize: Option<unsafe extern "C" fn(object: *mut zval, ce: *mut zend_class_entry, buf: *const c_uchar, buf_len: size_t, data: *mut zend_unserialize_data) -> c_int>§num_interfaces: u32§num_traits: u32§__bindgen_anon_3: _zend_class_entry__bindgen_ty_3§trait_names: *mut zend_class_name§trait_aliases: *mut *mut zend_trait_alias§trait_precedences: *mut *mut zend_trait_precedence§attributes: *mut HashTable§enum_backing_type: u32§backed_enum_table: *mut HashTable§info: _zend_class_entry__bindgen_ty_4Implementations§
source§impl _zend_class_entry
impl _zend_class_entry
sourcepub fn try_find(name: &str) -> Option<&'static Self>
pub fn try_find(name: &str) -> Option<&'static Self>
Attempts to find a reference to a class in the global class table.
Returns a reference to the class if found, or None if the class
could not be found or the class table has not been initialized.
sourcepub fn flags(&self) -> ClassFlags
pub fn flags(&self) -> ClassFlags
Returns the class flags.
sourcepub fn is_interface(&self) -> bool
pub fn is_interface(&self) -> bool
Returns true if the class entry is an interface, and false
otherwise.
sourcepub fn instance_of(&self, other: &ClassEntry) -> bool
pub fn instance_of(&self, other: &ClassEntry) -> bool
Checks if the class is an instance of another class or interface.
Parameters
other- The inherited class entry to check.
sourcepub fn interfaces(&self) -> Option<impl Iterator<Item = &ClassEntry>>
pub fn interfaces(&self) -> Option<impl Iterator<Item = &ClassEntry>>
Returns an iterator of all the interfaces that the class implements.
Returns None if the interfaces have not been resolved on the
class.