original_string: protected static function getLocalConfiguration($dirname)
      {
          if (is_dir($dirname) && empty(self::$localConfigurations[$dirname])) {
              $localConfig                         = $dirname.DIRECTORY_SEPARATOR.'local.json';
              self::$localConfigurations[$dirname] = file_exists($localConfig) ?
                  (array)@\json_decode(file_get_contents($localConfig)) : [];
          }
  
          return self::$localConfigurations[$dirname];
      }
code: protected static function getLocalConfiguration($dirname)
      {
          if (is_dir($dirname) && empty(self::$localConfigurations[$dirname])) {
              $localConfig                         = $dirname.DIRECTORY_SEPARATOR.'local.json';
              self::$localConfigurations[$dirname] = file_exists($localConfig) ?
                  (array)@\json_decode(file_get_contents($localConfig)) : [];
          }
  
          return self::$localConfigurations[$dirname];
      }
code_tokens: protected static function getLocalConfiguration ( $ dirname ) { if ( is_dir ( $ dirname ) && empty ( self :: $ localConfigurations [ $ dirname ] ) ) { $ localConfig = $ dirname . DIRECTORY_SEPARATOR . 'local.json' ; self :: $ localConfigurations [ $ dirname ] = file_exists ( $ localConfig ) ? ( array ) @ \ json_decode ( file_get_contents ( $ localConfig ) ) : [ ] ; } return self :: $ localConfigurations [ $ dirname ] ; }
docstring: Read, cache and return a directory specific local configuration
  
  @param string $dirname Directory name
  
  @return array Directory specific local configuration
docstring_tokens: Read cache and return a directory specific local configuration