public static function NormalizeTrait::isCallable in Markdown 8.2        
                          
                  
                        
1 call to NormalizeTrait::isCallable()
  - NormalizeTrait::normalizeCallables in src/Traits/NormalizeTrait.php
- Normalizes any callables provided so they can be stored in the database.
File
 
   - src/Traits/NormalizeTrait.php, line 14
Class
  
  - NormalizeTrait 
- Trait for providing normalization methods.
Namespace
  Drupal\markdown\Traits
Code
public static function isCallable(&$value, &$callable = FALSE) {
  if (is_callable($value)) {
    return $value;
  }
  if (!is_array($value) || count($value) !== 2 || !isset($value[0]) || !isset($value[1]) || $value !== array_values($value) || !(is_object($value[0]) || is_string($value[0]) && strpos($value[0], '\\') !== FALSE) || !is_string($value[1]) || !preg_match('/[a-zA-Z][a-zA-Z0-9-_]+/', $value[1])) {
    return FALSE;
  }
  list($class, $method) = $value;
  if (is_object($class)) {
    $class = get_class($class);
  }
  try {
    $ref = new \ReflectionMethod($class, $method);
    $callable = $ref
      ->isPublic() && $ref
      ->isStatic();
    if ($callable) {
      $value = "{$class}::{$method}";
    }
  } catch (\ReflectionException $e) {
    
    return FALSE;
  }
  return TRUE;
}