phpQuery::callbackRun PHP Method

callbackRun() public static method

public static callbackRun ( $callback, $params = [], $paramStructure = null ) : unknown_type
$callback Callback
$params
$paramStructure
return unknown_type
    public static function callbackRun($callback, $params = array(), $paramStructure = null)
    {
        if (!$callback) {
            return;
        }
        if ($callback instanceof CallbackParameterToReference) {
            // TODO support ParamStructure to select which $param push to reference
            if (isset($params[0])) {
                $callback->callback = $params[0];
            }
            return true;
        }
        if ($callback instanceof Callback) {
            $paramStructure = $callback->params;
            $callback = $callback->callback;
        }
        if (!$paramStructure) {
            return call_user_func_array($callback, $params);
        }
        $p = 0;
        foreach ($paramStructure as $i => $v) {
            $paramStructure[$i] = $v instanceof CallbackParam ? $params[$p++] : $v;
        }
        return call_user_func_array($callback, $paramStructure);
    }

Usage Example

Example #1
0
 /**
  * Enter description here...
  *
  * @param phpQueryObject $self
  */
 public static function script($self, $arg1)
 {
     $params = func_get_args();
     $params = array_slice($params, 2);
     $return = null;
     $config = self::$config;
     if (phpQueryPlugin_Scripts::$scriptMethods[$arg1]) {
         phpQuery::callbackRun(phpQueryPlugin_Scripts::$scriptMethods[$arg1], array($self, $params, &$return, $config));
     } elseif ($arg1 != '__config' && file_exists(dirname(__FILE__) . "/Scripts/{$arg1}.php")) {
         phpQuery::debug("Loading script '{$arg1}'");
         require dirname(__FILE__) . "/Scripts/{$arg1}.php";
     } else {
         phpQuery::debug("Requested script '{$arg1}' doesn't exist");
     }
     return $return ? $return : $self;
 }
All Usage Examples Of phpQuery::callbackRun