original_string: public function getParameterListAsObject($name, $delimiter = ";")
      {
  
          $parameter = $this->getValidParameterOfType($name, "string");
          $list = preg_split('/\s*(?:,*("[^"]+"),*|,*(\'[^\']+\'),*|,+)\s*/', $parameter, null,
              PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
          //if emptyparameter return throw an exception because they'd be expecting an object;
  
  
          $parameters = [];
          $values = [];
  
          foreach ($list as $itemValue) {
              //if items have qualities associated with them we shall sort the parameter array by qualities;
              $bits = preg_split('/\s*(?:;*("[^"]+");*|;*(\'[^\']+\');*|;+)\s*/', $itemValue, 0,
                  PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
              $value = array_shift($bits);
              $attributes = [];
  
              $lastNullAttribute = null;
              foreach ($bits as $bit) {
                  if (($start = substr($bit, 0, 1)) === ($end = substr($bit, -1))
                      && ($start === '"'
                          || $start === '\'')
                  ) {
                      $attributes[$lastNullAttribute] = substr($bit, 1, -1);
                  } elseif ('=' === $end) {
                      $lastNullAttribute = $bit = substr($bit, 0, -1);
                      $attributes[$bit] = null;
                  } else {
                      $parts = explode('=', $bit);
                      $attributes[$parts[0]] = isset($parts[1]) && strlen($parts[1]) > 0 ? $parts[1] : '';
                  }
              }
  
              $parameters[($start = substr($value, 0, 1)) === ($end = substr($value, -1)) && ($start === '"' || $start === '\'')
                  ? substr($value, 1, -1) : $value] = $attributes;
  
          }
  
          return new Factory($name, $parameters, static::$sanitizer, static::$validator, false);
      }
code: public function getParameterListAsObject($name, $delimiter = ";")
      {
  
          $parameter = $this->getValidParameterOfType($name, "string");
          $list = preg_split('/\s*(?:,*("[^"]+"),*|,*(\'[^\']+\'),*|,+)\s*/', $parameter, null,
              PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
          //if emptyparameter return throw an exception because they'd be expecting an object;
  
  
          $parameters = [];
          $values = [];
  
          foreach ($list as $itemValue) {
              //if items have qualities associated with them we shall sort the parameter array by qualities;
              $bits = preg_split('/\s*(?:;*("[^"]+");*|;*(\'[^\']+\');*|;+)\s*/', $itemValue, 0,
                  PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
              $value = array_shift($bits);
              $attributes = [];
  
              $lastNullAttribute = null;
              foreach ($bits as $bit) {
                  if (($start = substr($bit, 0, 1)) === ($end = substr($bit, -1))
                      && ($start === '"'
                          || $start === '\'')
                  ) {
                      $attributes[$lastNullAttribute] = substr($bit, 1, -1);
                  } elseif ('=' === $end) {
                      $lastNullAttribute = $bit = substr($bit, 0, -1);
                      $attributes[$bit] = null;
                  } else {
                      $parts = explode('=', $bit);
                      $attributes[$parts[0]] = isset($parts[1]) && strlen($parts[1]) > 0 ? $parts[1] : '';
                  }
              }
  
              $parameters[($start = substr($value, 0, 1)) === ($end = substr($value, -1)) && ($start === '"' || $start === '\'')
                  ? substr($value, 1, -1) : $value] = $attributes;
  
          }
  
          return new Factory($name, $parameters, static::$sanitizer, static::$validator, false);
      }
code_tokens: public function getParameterListAsObject ( $ name , $ delimiter = ";" ) { $ parameter = $ this -> getValidParameterOfType ( $ name , "string" ) ; $ list = preg_split ( '/\s*(?:,*("[^"]+"),*|,*(\'[^\']+\'),*|,+)\s*/' , $ parameter , null , PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE ) ; //if emptyparameter return throw an exception because they'd be expecting an object; $ parameters = [ ] ; $ values = [ ] ; foreach ( $ list as $ itemValue ) { //if items have qualities associated with them we shall sort the parameter array by qualities; $ bits = preg_split ( '/\s*(?:;*("[^"]+");*|;*(\'[^\']+\');*|;+)\s*/' , $ itemValue , 0 , PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE ) ; $ value = array_shift ( $ bits ) ; $ attributes = [ ] ; $ lastNullAttribute = null ; foreach ( $ bits as $ bit ) { if ( ( $ start = substr ( $ bit , 0 , 1 ) ) === ( $ end = substr ( $ bit , - 1 ) ) && ( $ start === '"' || $ start === '\'' ) ) { $ attributes [ $ lastNullAttribute ] = substr ( $ bit , 1 , - 1 ) ; } elseif ( '=' === $ end ) { $ lastNullAttribute = $ bit = substr ( $ bit , 0 , - 1 ) ; $ attributes [ $ bit ] = null ; } else { $ parts = explode ( '=' , $ bit ) ; $ attributes [ $ parts [ 0 ] ] = isset ( $ parts [ 1 ] ) && strlen ( $ parts [ 1 ] ) > 0 ? $ parts [ 1 ] : '' ; } } $ parameters [ ( $ start = substr ( $ value , 0 , 1 ) ) === ( $ end = substr ( $ value , - 1 ) ) && ( $ start === '"' || $ start === '\'' ) ? substr ( $ value , 1 , - 1 ) : $ value ] = $ attributes ; } return new Factory ( $ name , $ parameters , static :: $ sanitizer , static :: $ validator , false ) ; }
docstring: Get a comma seperated list of params as a Parameter object;
  
  e.g key1=value1;q=0.31,key2=value2....
  
  @param $name
docstring_tokens: Get a comma seperated list of params as a Parameter object ;