public override IPhpCallable AsCallable(ref PhpValue me) { if (me.Array.Count == 2) { PhpValue a, b; var e = me.Array.GetFastEnumerator(); e.MoveNext(); a = e.CurrentValue; e.MoveNext(); b = e.CurrentValue; // [ class => object|string, methodname => string ] return(PhpCallback.Create(a, b)); } else { return(base.AsCallable(ref me)); } }
} // TODO: StringArray helper public override IPhpCallable AsCallable(ref PhpValue me) => PhpCallback.Create(me.WritableString.ToString());
public override IPhpCallable AsCallable(ref PhpValue me, RuntimeTypeHandle callerCtx) => PhpCallback.Create(me.WritableString.ToString(), callerCtx);
} // TODO: StringArray helper public override IPhpCallable AsCallable(ref PhpValue me) => PhpCallback.Create(me.String);
/// <summary> /// Call a function by its name dynamically. /// </summary> /// <param name="function">Function name valid within current runtime context.</param> /// <param name="arguments">Arguments to be passed to the function call.</param> /// <returns>Returns value given from the function call.</returns> public PhpValue Call(string function, params object[] arguments) => PhpCallback.Create(function, default(RuntimeTypeHandle)).Invoke(this, PhpValue.FromClr(arguments));
public override IPhpCallable AsCallable(ref PhpValue me, RuntimeTypeHandle callerCtx) => PhpCallback.Create(me.MutableStringBlob.ToString(Encoding.UTF8), callerCtx);
/// <summary> /// Creates a callable object from string value. /// </summary> public static IPhpCallable AsCallable(string value, RuntimeTypeHandle callerCtx) => PhpCallback.Create(value, callerCtx);
/// <summary> /// Call a function by its name dynamically. /// </summary> /// <param name="function">Function name valid within current runtime context.</param> /// <param name="arguments">Arguments to be passed to the function call.</param> /// <returns>Returns value given from the function call.</returns> public PhpValue Call(string function, params PhpValue[] arguments) => PhpCallback.Create(function, default(RuntimeTypeHandle)).Invoke(this, arguments);
/// <summary> /// Creates a callable object from string value. /// </summary> public static IPhpCallable AsCallable(string value) => PhpCallback.Create(value);
public PhpValue Call(string function, params object[] arguments) => PhpCallback.Create(function).Invoke(this, PhpValue.FromClr(arguments));
public PhpValue Call(string function, params PhpValue[] arguments) => PhpCallback.Create(function).Invoke(this, arguments);
public PhpValue Call(string function) => PhpCallback.Create(function).Invoke(this, Array.Empty <PhpValue>());
/// <summary> /// Call a function by its name dynamically. /// </summary> /// <param name="function">Function name valid within current runtime context.</param> /// <returns>Returns value given from the function call.</returns> public PhpValue Call(string function) => PhpCallback.Create(function, default(RuntimeTypeHandle)).Invoke(this, Array.Empty <PhpValue>());