original_string: public static function button(
          string $label, 
          string $type = "submit", 
          string $onclick = null, 
          array $attributes = []
      ) : string
      {
          $buttonPreAttributes = [
              "type" => $type,
          ];
          
          if ($onclick) {
              $buttonPreAttributes["onclick"] = $onclick;
          }
          $buttonAttributes = array_merge($buttonPreAttributes, $attributes);        
          
          return self::tag("button", $label, $buttonAttributes);
      }
code: public static function button(
          string $label, 
          string $type = "submit", 
          string $onclick = null, 
          array $attributes = []
      ) : string
      {
          $buttonPreAttributes = [
              "type" => $type,
          ];
          
          if ($onclick) {
              $buttonPreAttributes["onclick"] = $onclick;
          }
          $buttonAttributes = array_merge($buttonPreAttributes, $attributes);        
          
          return self::tag("button", $label, $buttonAttributes);
      }
code_tokens: public static function button ( string $ label , string $ type = "submit" , string $ onclick = null , array $ attributes = [ ] ) : string { $ buttonPreAttributes = [ "type" => $ type , ] ; if ( $ onclick ) { $ buttonPreAttributes [ "onclick" ] = $ onclick ; } $ buttonAttributes = array_merge ( $ buttonPreAttributes , $ attributes ) ; return self :: tag ( "button" , $ label , $ buttonAttributes ) ; }
docstring: Create a Button Tag
  @param string $label Button Content
  @param string $type type attribute
  @param string $onclick onclick attribute
  @param array $attributes further attributes
  @return string HTML Code
docstring_tokens: Create a Button Tag