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
impl Function
pub fn function_type(&self) -> FunctionType
pub fn try_from_function(name: &str) -> Option<Self>
pub fn try_from_method(class: &str, name: &str) -> Option<Self>
sourcepub fn try_call(&self, params: Vec<&dyn IntoZvalDyn>) -> Result<Zval>
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));