Trait ext_php_rs::class::RegisteredClass
source · pub trait RegisteredClass: Sized + 'static {
const CLASS_NAME: &'static str;
const CONSTRUCTOR: Option<ConstructorMeta<Self>> = None;
// Required methods
fn get_metadata() -> &'static ClassMetadata<Self>;
fn get_properties<'a>() -> HashMap<&'static str, Property<'a, Self>>;
}
Expand description
Implemented on Rust types which are exported to PHP. Allows users to get and set PHP properties on the object.
Required Associated Constants§
sourceconst CLASS_NAME: &'static str
const CLASS_NAME: &'static str
PHP class name of the registered class.
Provided Associated Constants§
sourceconst CONSTRUCTOR: Option<ConstructorMeta<Self>> = None
const CONSTRUCTOR: Option<ConstructorMeta<Self>> = None
Optional class constructor.
Required Methods§
sourcefn get_metadata() -> &'static ClassMetadata<Self>
fn get_metadata() -> &'static ClassMetadata<Self>
Returns a reference to the class metadata, which stores the class entry and handlers.
This must be statically allocated, and is usually done through the
macro@php_class
macro.
sourcefn get_properties<'a>() -> HashMap<&'static str, Property<'a, Self>>
fn get_properties<'a>() -> HashMap<&'static str, Property<'a, Self>>
Returns a hash table containing the properties of the class.
The key should be the name of the property and the value should be a
reference to the property with reference to self
. The value is a
Property
.
Instead of using this method directly, you should access the properties
through the ClassMetadata::get_properties
function, which builds the
hashmap one and stores it in memory.
Object Safety§
This trait is not object safe.
Implementors§
source§impl RegisteredClass for Closure
Available on crate feature closure
only.
impl RegisteredClass for Closure
Available on crate feature
closure
only.