public static function create($function_name, $parameters = NULL) {
    /** @var FunctionDeclarationNode $function */
    $function = Parser::parseSnippet("function $function_name() {}");
    if (is_array($parameters)) {
      foreach ($parameters as $parameter) {
        if (is_string($parameter)) {
          $parameter = ParameterNode::create($parameter);
        }
        $function->appendParameter($parameter);
      }
    }
    return $function;
  }
public static function create($function_name, $parameters = NULL) {
    /** @var FunctionDeclarationNode $function */
    $function = Parser::parseSnippet("function $function_name() {}");
    if (is_array($parameters)) {
      foreach ($parameters as $parameter) {
        if (is_string($parameter)) {
          $parameter = ParameterNode::create($parameter);
        }
        $function->appendParameter($parameter);
      }
    }
    return $function;
  }
public static function create ( $ function_name , $ parameters = NULL ) { /** @var FunctionDeclarationNode $function */ $ function = Parser :: parseSnippet ( "function $function_name() {}" ) ; if ( is_array ( $ parameters ) ) { foreach ( $ parameters as $ parameter ) { if ( is_string ( $ parameter ) ) { $ parameter = ParameterNode :: create ( $ parameter ) ; } $ function -> appendParameter ( $ parameter ) ; } } return $ function ; }
Create a function declaration.

@param NameNode|string $function_name
The function name.
@param array $parameters
(Optional) List of parameters.

@return FunctionDeclarationNode
Create a function declaration .