Type Alias ext_php_rs::zend::Function

source ·
pub type Function = zend_function;

Aliased Type§

union Function {
    pub type_: u8,
    pub quick_arg_flags: u32,
    pub common: _zend_function__bindgen_ty_1,
    pub op_array: _zend_op_array,
    pub internal_function: _zend_internal_function,
}

Fields§

§type_: u8§quick_arg_flags: u32§common: _zend_function__bindgen_ty_1§op_array: _zend_op_array§internal_function: _zend_internal_function

Implementations§

source§

impl Function

source

pub fn function_type(&self) -> FunctionType

source

pub fn try_from_function(name: &str) -> Option<Self>

source

pub fn try_from_method(class: &str, name: &str) -> Option<Self>

source

pub fn try_call(&self, params: Vec<&dyn IntoZvalDyn>) -> Result<Zval>

Attempts to call the callable with a list of arguments to pass to the function.

You should not call this function directly, rather through the call_user_func macro.

§Parameters
  • params - A list of parameters to call the function with.
§Returns

Returns the result wrapped in Ok upon success. If calling the callable fails, or an exception is thrown, an Err is returned.

§Example
use ext_php_rs::types::ZendCallable;

let strpos = ZendCallable::try_from_name("strpos").unwrap();
let result = strpos.try_call(vec![&"hello", &"e"]).unwrap();
assert_eq!(result.long(), Some(1));