original_string: protected function parseConfig($file)
      {
          $namespace = '';
          $directory = '';
  
          $config = file_get_contents($file);
          switch (pathinfo($file, PATHINFO_EXTENSION)) {
              case 'yml':
              case 'yaml':
                  $config = Yaml::parse($config);
                  if (isset($config['migrations_namespace'])) {
                      $namespace = $config['migrations_namespace'];
                  }
                  if (isset($config['migrations_directory'])) {
                      $directory = $config['migrations_directory'];
                  }
                  break;
              case 'xml':
                  $doc = new \DOMDocument();
                  $doc->loadXML($config);
                  $list = $doc->getElementsByTagName('migrations-namespace');
                  if ($list->length) {
                      $namespace = $list->item(0)->nodeValue;
                  }
                  $list = $doc->getElementsByTagName('migrations-directory');
                  if ($list->length) {
                      $directory = $list->item(0)->nodeValue;
                  }
                  break;
          }
  
          return [
              'namespace' => $namespace && $namespace[0] == '\\' ? substr($namespace, 1) : $namespace,
              'directory' => $directory,
          ];
      }
code: protected function parseConfig($file)
      {
          $namespace = '';
          $directory = '';
  
          $config = file_get_contents($file);
          switch (pathinfo($file, PATHINFO_EXTENSION)) {
              case 'yml':
              case 'yaml':
                  $config = Yaml::parse($config);
                  if (isset($config['migrations_namespace'])) {
                      $namespace = $config['migrations_namespace'];
                  }
                  if (isset($config['migrations_directory'])) {
                      $directory = $config['migrations_directory'];
                  }
                  break;
              case 'xml':
                  $doc = new \DOMDocument();
                  $doc->loadXML($config);
                  $list = $doc->getElementsByTagName('migrations-namespace');
                  if ($list->length) {
                      $namespace = $list->item(0)->nodeValue;
                  }
                  $list = $doc->getElementsByTagName('migrations-directory');
                  if ($list->length) {
                      $directory = $list->item(0)->nodeValue;
                  }
                  break;
          }
  
          return [
              'namespace' => $namespace && $namespace[0] == '\\' ? substr($namespace, 1) : $namespace,
              'directory' => $directory,
          ];
      }
code_tokens: protected function parseConfig ( $ file ) { $ namespace = '' ; $ directory = '' ; $ config = file_get_contents ( $ file ) ; switch ( pathinfo ( $ file , PATHINFO_EXTENSION ) ) { case 'yml' : case 'yaml' : $ config = Yaml :: parse ( $ config ) ; if ( isset ( $ config [ 'migrations_namespace' ] ) ) { $ namespace = $ config [ 'migrations_namespace' ] ; } if ( isset ( $ config [ 'migrations_directory' ] ) ) { $ directory = $ config [ 'migrations_directory' ] ; } break ; case 'xml' : $ doc = new \ DOMDocument ( ) ; $ doc -> loadXML ( $ config ) ; $ list = $ doc -> getElementsByTagName ( 'migrations-namespace' ) ; if ( $ list -> length ) { $ namespace = $ list -> item ( 0 ) -> nodeValue ; } $ list = $ doc -> getElementsByTagName ( 'migrations-directory' ) ; if ( $ list -> length ) { $ directory = $ list -> item ( 0 ) -> nodeValue ; } break ; } return [ 'namespace' => $ namespace && $ namespace [ 0 ] == '\\' ? substr ( $ namespace , 1 ) : $ namespace , 'directory' => $ directory , ] ; }
docstring: Parse config file.
  
  Return:
  <code>
  {
  namespace: string,
  directory: string
  }
  </code>
  
  @param string $file
  
  @return array
docstring_tokens: Parse config file .