字段名分析
@access protected
@param string $key
@return string
964284
protected function parseKey(&$key) {
        $key   =  trim($key);
        if(!is_numeric($key) && !preg_match('/[,\'\"\*\(\)\[.\s]/',$key)) {
           $key = '['.$key.']';
        }
        return $key;   
    }
104701
public function getKey($key)
    {
        $key = strtolower($key);
        if (!isset($this->keys[$key])) {
            return null;
        }
        return (string)$this->keys[$key];
    }
273756
protected function cleanKey($key)
    {
        return mb_substr(
            $key,
            mb_strlen($this->preDelimiter),
            mb_strlen($key) - mb_strlen($this->postDelimiter) - 1
        );
    }
139684
protected function namespaceAndKey($key)
    {
        if ($this->hasNamespace($key)) {
            return explode($this->nsSeparator, $key, 2);
        }
        return ['default', $key];
    }
837610
public function getNameByKey($key)
    {
        return (array_key_exists($key, $this->_languages)) ? $this->_languages[$key] : null;
    }
1184358
public function getFieldByKey($key)
    {
        foreach ($this->groups as $group) {
            foreach ($group->getFields() as $field) {
                if ($field->getKey() == $key) {
                    return $field;
                }
            }
        }
    }
649258
public function getHelperName($key)
    {
        $helpers = $this->getOption('helpers', []);

        return is_array($helpers) && isset($helpers[$key])
            ? $helpers[$key]
            : $key;
    }
793314
private function getFilenameFromCacheKey($key)
    {
        return $this->cacheDir
        . DIRECTORY_SEPARATOR
        . $this->getDirectoryHash($key)
        . DIRECTORY_SEPARATOR
        . $key
        . self::CACHE_FILE_SUFFIX;
    }
853876
private function getFilenameFromKey($key)
    {
        $name = $this->directory.self::PREFIX.$key;

        return str_replace('\\', '-', $name);
    }
761724
public static function deconstructIniKey($key) {
		$res = [
			'plugin' => null,
			'prefix' => null
		];

		if (strpos($key, '.') !== false) {
			list($res['plugin'], $key) = explode('.', $key);
		}
		if (strpos($key, '/') !== false) {
			list($res['prefix'], $key) = explode('/', $key);
		}
		$res['controller'] = $key;
		return $res;
	}
60879
public static function namespaceAsArrayKey(string $key) : string
    {
        $keys = \explode('\\', $key);
        $className = \end($keys);

        return self::camelCaseToUnderscore($className);
    }
992167
protected function getFileName($key)
    {
        $file = $this->getFilePath() . $this->encrypt($key) . $this->fileExtension;

        return $file;
    }
284427
protected static function name(string $key): string
    {
        if (!isset(static::$names[$key]))
        {
            static::$names[$key] = Flow::VERSION . \sha1($key);
        }

        return static::$names[$key];
    }
1038516
protected function path($key)
	{
		$parts = explode('.', $key);

		$path = array_shift($parts);
		$path = $this->directory . ($path ? DIRECTORY_SEPARATOR . $this->cleanPath($path) : '');

		return $path . DIRECTORY_SEPARATOR . $this->id($key) . '.php';
	}
1099319
protected function getAsString($key)
    {
        $this->checkForNonEmptyKey($key);

        return trim((string)$this->get($key));
    }
363876
public static function splitKey($key)
    {
        if (strpos($key, self::FIELD_KEY_SEPARATOR) === false) {
            return null;
        }
        list($sub, $fieldId) = explode(self::FIELD_KEY_SEPARATOR, $key, 2);

        return array('sub' => $sub, 'gtf_id_field' => $fieldId);
    }
1248180
protected function extractKeyTag($key)
    {
        if (false !== $start = strpos($key, '{')) {
            if (false !== ($end = strpos($key, '}', $start)) && $end !== ++$start) {
                $key = substr($key, $start, $end - $start);
            }
        }

        return $key;
    }