FluentDOM\Constraints::isCallable PHP Method

isCallable() public static method

If $silent is disabled, an exception is thrown for invalid callbacks
public static isCallable ( mixed $callback, boolean $allowGlobalFunctions = FALSE, boolean $silent = TRUE ) : callable | null
$callback mixed
$allowGlobalFunctions boolean
$silent boolean (no InvalidArgumentException)
return callable | null
    public static function isCallable($callback, $allowGlobalFunctions = FALSE, $silent = TRUE)
    {
        if ($callback instanceof \Closure) {
            return $callback;
        } elseif (is_string($callback) && $allowGlobalFunctions || self::isCallableArray($callback)) {
            return is_callable($callback) ? $callback : NULL;
        } elseif ($silent) {
            return NULL;
        }
        throw new \InvalidArgumentException('Invalid callback argument');
    }

Usage Example

Beispiel #1
0
 /**
  * @param mixed $content
  * @param bool $includeTextNodes
  * @param int $limit
  * @return array|\Traversable null
  */
 private function getNodeList($content, $includeTextNodes = TRUE, $limit = -1)
 {
     if ($callback = Constraints::isCallable($content)) {
         $content = $callback();
     }
     if ($content instanceof \DOMElement) {
         return array($content);
     } elseif ($includeTextNodes && Constraints::isNode($content)) {
         return array($content);
     } elseif (Constraints::isNodeList($content)) {
         return $this->getLimitedArray($content, $limit);
     }
     return NULL;
 }
All Usage Examples Of FluentDOM\Constraints::isCallable