/** * @param int|callable $seconds * @return callable */ function max_execution_time_set_dg($seconds) { if (is_numeric($seconds)) { $seconds = return_dg($seconds); } else { debug_enforce_type($seconds, 'callable'); } return function () use($seconds) { $args = func_get_args(); $key = 'max_execution_time'; $ret = ini_get($key); ini_set($key, call_user_func_array($seconds, $args)); return $ret; }; }
/** * @param mixed $var * @return string */ function debug_enforce_string($var) { debug_enforce_type($var, 'string'); return $var; }
/** * @param string|callable|null $path * @return callable */ function loader_require_once_dg($path = null) { if (null === $path) { $path = function () { return func_get_arg(0); }; } elseif (is_string($path)) { $path = return_dg($path); } else { debug_enforce_type($path, 'callable'); } return function () use($path) { $args = func_get_args(); return loader_require_once(call_user_func_array($path, $args)); }; }
/** * @param string|callable $column * @return mixed * @throws Exception */ public function propertyGetDg($column) { if (is_string($column)) { debug_enforce($this->schemaColumnExists($column), "Cannot set non-existant column " . var_dump_human_compact($column)); $column = return_dg($column); } else { debug_enforce_type($column, 'callable'); } return function () use($column) { $args = func_get_args(); return $this->propertyGet(call_user_func_array($column, $args)); }; }
/** * @param string|callable|null $separator * @param array|callable|null * @return callable */ function array_implode_dg($separator = null, $array = null) { if (null === $separator) { $separator = return_dg(PHP_EOL); } elseif (!is_callable($separator)) { $separator = return_dg($separator); } if (is_null($array)) { $array = tuple_get(0); } elseif (is_array($array)) { $array = return_dg($array); } else { debug_enforce_type($array, 'callable'); } return function () use($separator, $array) { $args = func_get_args(); return implode(call_user_func_array($separator, $args), call_user_func_array($array, $args)); }; }
/** * @param string|callable|null $char * @param string|callable|null $placeholder * @return string */ function char_accent_map_dg($char = null, $placeholder = null) { if (null === $char) { $char = tuple_get(0); } elseif (is_char($char)) { $char = return_dg($char); } else { debug_enforce_type($char, 'callable'); } if (is_null($placeholder)) { $placeholder = return_dg('-'); } elseif (is_string($placeholder)) { $placeholder = return_dg($placeholder); } else { debug_enforce_type($placeholder, 'callable'); } $map = char_accent_map_element(); return function () use($map, $char, $placeholder) { $args = func_get_args(); $c = call_user_func_array($char, $args); $ret = array_key_exists($c, $map) ? $map[$c] : call_user_func_array($placeholder, $args); return $ret; }; }
/** * @param string|callable|null $class * @param object|callable|null $object * * @return callable */ function instanceof_dg($class = null, $object = null) { if (is_null($object)) { $object = tuple_get(0); } elseif (is_object($object)) { $object = return_dg($object); } else { debug_enforce_type($object, 'callable'); } if (is_null($class)) { $class = tuple_get(1); } elseif (is_string($class)) { $class = return_dg($class); } else { debug_enforce_type($class, 'callable'); } return function () use($object, $class) { $args = func_get_args(); $object = call_user_func_array($object, $args); $class = call_user_func_array($class, $args); return $object instanceof $class; }; }
/** * @param string|callable $string * @return callable */ function urlencode_dg($string) { if (is_string($string)) { $string = return_dg($string); } else { debug_enforce_type($string, 'callable'); } return function () use($string) { $args = func_get_args(); return urlencode(call_user_func_array($string, $args)); }; }