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 usize, 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: usize, 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 usize, 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: usize, 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_4
Implementations§
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.