src/Core/FrameBase.php
function getFilePath($name)
    {
        $prefix_name = 'project';
        if (false !== strpos($name, '::')) {
            list($prefix_name, $file_name) = explode('::', $name);
            if (!empty($prefix_name)) {
                $prefix_name = strtolower(trim($prefix_name));
            }
        } else {
            $file_name = $name;
        }

        static $cache = null;
        if (!isset($cache[$prefix_name])) {
            switch ($prefix_name) {
                case 'app':
                    $prefix_path = $this->config->get('app', 'path');
                    break;

                case 'cache':
                case 'config':
                    $prefix_path = $this->config->get('path', $prefix_name);
                    break;

                case 'static':
                    $prefix_path = $this->config->get('static', 'path');
                    break;

                default:
                    $prefix_path = PROJECT_REAL_PATH;
            }
            $cache[$prefix_name] = rtrim($prefix_path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
        }

        return $cache[$prefix_name] . str_replace('/', DIRECTORY_SEPARATOR, $file_name);
    }
function getFilePath($name)
    {
        $prefix_name = 'project';
        if (false !== strpos($name, '::')) {
            list($prefix_name, $file_name) = explode('::', $name);
            if (!empty($prefix_name)) {
                $prefix_name = strtolower(trim($prefix_name));
            }
        } else {
            $file_name = $name;
        }

        static $cache = null;
        if (!isset($cache[$prefix_name])) {
            switch ($prefix_name) {
                case 'app':
                    $prefix_path = $this->config->get('app', 'path');
                    break;

                case 'cache':
                case 'config':
                    $prefix_path = $this->config->get('path', $prefix_name);
                    break;

                case 'static':
                    $prefix_path = $this->config->get('static', 'path');
                    break;

                default:
                    $prefix_path = PROJECT_REAL_PATH;
            }
            $cache[$prefix_name] = rtrim($prefix_path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
        }

        return $cache[$prefix_name] . str_replace('/', DIRECTORY_SEPARATOR, $file_name);
    }
解析文件路径
<pre>
格式如下:
1 ::[path/file_name] 从当前项目根目录查找
2 app::[path/file_name] 当前app路径
3 static::[path/file_name] 静态资源目录
4 cache::[path/file_name] 缓存路径
5 config::[path/file_name] 配置路径
</pre>

@param string $name
@return string