Type Alias ext_php_rs::zend::ClassEntry
source · pub type ClassEntry = zend_class_entry;
Expand description
A PHP class entry.
Represents a class registered with the PHP interpreter.
Aliased Type§
struct ClassEntry {Show 47 fields
pub type_: i8,
pub name: *mut _zend_string,
pub __bindgen_anon_1: _zend_class_entry__bindgen_ty_1,
pub refcount: i32,
pub ce_flags: u32,
pub default_properties_count: i32,
pub default_static_members_count: i32,
pub default_properties_table: *mut _zval_struct,
pub default_static_members_table: *mut _zval_struct,
pub static_members_table__ptr: *mut _zval_struct,
pub function_table: _zend_array,
pub properties_info: _zend_array,
pub constants_table: _zend_array,
pub mutable_data__ptr: *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 default_object_handlers: *const _zend_object_handlers,
pub iterator_funcs_ptr: *mut _zend_class_iterator_funcs,
pub arrayaccess_funcs_ptr: *mut _zend_class_arrayaccess_funcs,
pub __bindgen_anon_2: _zend_class_entry__bindgen_ty_2,
pub get_iterator: Option<unsafe extern "C" fn(_: *mut _zend_class_entry, _: *mut _zval_struct, _: i32) -> *mut _zend_object_iterator>,
pub get_static_method: Option<unsafe extern "C" fn(_: *mut _zend_class_entry, _: *mut _zend_string) -> *mut _zend_function>,
pub serialize: Option<unsafe extern "C" fn(_: *mut _zval_struct, _: *mut *mut u8, _: *mut usize, _: *mut _zend_serialize_data) -> i32>,
pub unserialize: Option<unsafe extern "C" fn(_: *mut _zval_struct, _: *mut _zend_class_entry, _: *const u8, _: usize, _: *mut _zend_unserialize_data) -> i32>,
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 _zend_array,
pub enum_backing_type: u32,
pub backed_enum_table: *mut _zend_array,
pub info: _zend_class_entry__bindgen_ty_4,
}
Fields§
§type_: i8
§name: *mut _zend_string
§__bindgen_anon_1: _zend_class_entry__bindgen_ty_1
§refcount: i32
§ce_flags: u32
§default_properties_count: i32
§default_static_members_count: i32
§default_properties_table: *mut _zval_struct
§default_static_members_table: *mut _zval_struct
§static_members_table__ptr: *mut _zval_struct
§function_table: _zend_array
§properties_info: _zend_array
§constants_table: _zend_array
§mutable_data__ptr: *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
§default_object_handlers: *const _zend_object_handlers
§iterator_funcs_ptr: *mut _zend_class_iterator_funcs
§arrayaccess_funcs_ptr: *mut _zend_class_arrayaccess_funcs
§__bindgen_anon_2: _zend_class_entry__bindgen_ty_2
§get_iterator: Option<unsafe extern "C" fn(_: *mut _zend_class_entry, _: *mut _zval_struct, _: i32) -> *mut _zend_object_iterator>
§get_static_method: Option<unsafe extern "C" fn(_: *mut _zend_class_entry, _: *mut _zend_string) -> *mut _zend_function>
§serialize: Option<unsafe extern "C" fn(_: *mut _zval_struct, _: *mut *mut u8, _: *mut usize, _: *mut _zend_serialize_data) -> i32>
§unserialize: Option<unsafe extern "C" fn(_: *mut _zval_struct, _: *mut _zend_class_entry, _: *const u8, _: usize, _: *mut _zend_unserialize_data) -> i32>
§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 _zend_array
§enum_backing_type: u32
§backed_enum_table: *mut _zend_array
§info: _zend_class_entry__bindgen_ty_4
Implementations§
source§impl ClassEntry
impl ClassEntry
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 new(&self) -> ZBox<ZendObject>
pub fn new(&self) -> ZBox<ZendObject>
Creates a new ZendObject
, returned inside an ZBox<ZendObject>
wrapper.
§Panics
Panics when allocating memory for the new object fails.
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.
sourcepub fn parent(&self) -> Option<&Self>
pub fn parent(&self) -> Option<&Self>
Returns the parent of the class.
If the parent of the class has not been resolved, it attempts to find
the parent by name. Returns None
if the parent was not resolved
and the parent was not able to be found by name.
sourcepub fn get_iterator<'a>(
&self,
zval: &'a Zval,
by_ref: bool
) -> Option<&'a mut ZendIterator>
pub fn get_iterator<'a>( &self, zval: &'a Zval, by_ref: bool ) -> Option<&'a mut ZendIterator>
Returns the iterator for the class for a specific instance
Returns None
if there is no associated iterator for the class.