original_string: public function set($name, $value = null)
      {
          if (is_array($name)) {
              if (is_array($value)) {
                  $data = array_combine($name, $value);
              } else {
                  $data = $name;
              }
          } else {
              $data = [$name => $value];
          }
          $this->viewVars = $data + $this->viewVars;
  
          return $this;
      }
code: public function set($name, $value = null)
      {
          if (is_array($name)) {
              if (is_array($value)) {
                  $data = array_combine($name, $value);
              } else {
                  $data = $name;
              }
          } else {
              $data = [$name => $value];
          }
          $this->viewVars = $data + $this->viewVars;
  
          return $this;
      }
code_tokens: public function set ( $ name , $ value = null ) { if ( is_array ( $ name ) ) { if ( is_array ( $ value ) ) { $ data = array_combine ( $ name , $ value ) ; } else { $ data = $ name ; } } else { $ data = [ $ name => $ value ] ; } $ this -> viewVars = $ data + $ this -> viewVars ; return $ this ; }
docstring: Saves a variable or an associative array of variables for use inside a template.
  
  @param string|array $name A string or an array of data.
  @param mixed $value Value in case $name is a string (which then works as the key).
  Unused if $name is an associative array, otherwise serves as the values to $name's keys.
  @return $this
docstring_tokens: Saves a variable or an associative array of variables for use inside a template .