#[macro_use]
extern crate ext_php_rs_derive;
pub struct MyClass {}
impl ::ext_php_rs::class::RegisteredClass for MyClass {
const CLASS_NAME: &'static str = "MyClass";
const BUILDER_MODIFIER: ::std::option::Option<
fn(::ext_php_rs::builders::ClassBuilder) -> ::ext_php_rs::builders::ClassBuilder,
> = ::std::option::Option::None;
const EXTENDS: ::std::option::Option<::ext_php_rs::class::ClassEntryInfo> = None;
const IMPLEMENTS: &'static [::ext_php_rs::class::ClassEntryInfo] = &[];
const FLAGS: ::ext_php_rs::flags::ClassFlags = ::ext_php_rs::flags::ClassFlags::empty();
const DOC_COMMENTS: &'static [&'static str] = &[
" Doc comments for MyClass.",
" This is a basic class example.",
];
#[inline]
fn get_metadata() -> &'static ::ext_php_rs::class::ClassMetadata<Self> {
static FIELD_PROPS: [::ext_php_rs::internal::property::PropertyDescriptor<
MyClass,
>; 0usize] = [];
static METADATA: ::ext_php_rs::class::ClassMetadata<MyClass> = ::ext_php_rs::class::ClassMetadata::new(
&FIELD_PROPS,
);
&METADATA
}
#[must_use]
fn static_properties() -> &'static [(
&'static str,
::ext_php_rs::flags::PropertyFlags,
::std::option::Option<&'static (dyn ::ext_php_rs::convert::IntoZvalDyn + Sync)>,
&'static [&'static str],
)] {
static STATIC_PROPS: &[(
&str,
::ext_php_rs::flags::PropertyFlags,
::std::option::Option<
&'static (dyn ::ext_php_rs::convert::IntoZvalDyn + Sync),
>,
&[&str],
)] = &[];
STATIC_PROPS
}
#[inline]
fn method_properties() -> &'static [::ext_php_rs::internal::property::PropertyDescriptor<
Self,
>] {
use ::ext_php_rs::internal::class::PhpClassImpl;
::ext_php_rs::internal::class::PhpClassImplCollector::<Self>::default()
.get_method_props()
}
#[inline]
fn method_builders() -> ::std::vec::Vec<
(
::ext_php_rs::builders::FunctionBuilder<'static>,
::ext_php_rs::flags::MethodFlags,
),
> {
use ::ext_php_rs::internal::class::PhpClassImpl;
::ext_php_rs::internal::class::PhpClassImplCollector::<Self>::default()
.get_methods()
}
#[inline]
fn constructor() -> ::std::option::Option<
::ext_php_rs::class::ConstructorMeta<Self>,
> {
use ::ext_php_rs::internal::class::PhpClassImpl;
::ext_php_rs::internal::class::PhpClassImplCollector::<Self>::default()
.get_constructor()
}
#[inline]
fn constants() -> &'static [(
&'static str,
&'static dyn ::ext_php_rs::convert::IntoZvalDyn,
&'static [&'static str],
)] {
use ::ext_php_rs::internal::class::PhpClassImpl;
::ext_php_rs::internal::class::PhpClassImplCollector::<Self>::default()
.get_constants()
}
#[inline]
fn interface_implementations() -> ::std::vec::Vec<
::ext_php_rs::class::ClassEntryInfo,
> {
let my_type_id = ::std::any::TypeId::of::<Self>();
::ext_php_rs::inventory::iter::<
::ext_php_rs::internal::class::InterfaceRegistration,
>()
.filter(|reg| reg.class_type_id == my_type_id)
.map(|reg| (reg.interface_getter)())
.collect()
}
#[inline]
fn interface_method_implementations() -> ::std::vec::Vec<
(
::ext_php_rs::builders::FunctionBuilder<'static>,
::ext_php_rs::flags::MethodFlags,
),
> {
use ::ext_php_rs::internal::class::InterfaceMethodsProvider;
::ext_php_rs::internal::class::PhpClassImplCollector::<Self>::default()
.get_interface_methods()
}
}