【magento2.1源码分析】指定目录列表类DirectoryList.php

<?php
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Framework\App\Filesystem;

/**
 *Magento应用程序指定的目录列表
 */
class DirectoryList extends \Magento\Framework\Filesystem\DirectoryList
{
    /**
     * Code base root
     */
    const ROOT = 'base';

    /**
     * 应用目录
     */
    const APP = 'app';

    /**
     * 应用配置目录
     */
    const CONFIG = 'etc';

    /**
     * 第三方组件类库目录
     */
    const LIB_INTERNAL = 'lib_internal';

    /**
     * 需要通过Web服务器公开访问的库/组件(例如各种DHTML组件)
     */
    const LIB_WEB = 'lib_web';

    /**
     *  Web服务器的文档根目录中的目录,用于公开访问静态视图文件
     */
    const PUB = 'pub';

    /**
     * 存储由最终用户输入或生成的文件
     */
    const MEDIA = 'media';

    /**
     * 存储HTML页面,电子邮件或类似内容所需的静态视图文件
     */
    const STATIC_VIEW = 'static';

    /**
     * 系统在运行时生成的各种文件
     */
    const VAR_DIR = 'var';

    /**
     * 临时文件
     */
    const TMP = 'tmp';

    /**
     * 文件系统缓存目录(如果使用文件系统缓存)
     */
    const CACHE = 'cache';

    /**
     * 系统消息和错误的日志
     */
    const LOG = 'log';

    /**
     * 文件系统会话目录(如果使用文件系统会话存储)
     */
    const SESSION = 'session';

    /**
     * 安装应用程序目录
     */
    const SETUP = 'setup';

    /**
     * 依赖注入相关的文件目录
     */
    const DI = 'di';

    /**
     * 生成代码的相对目录密钥
     */
    const GENERATION = 'generation';

    /**
     * 最终用户上传文件的临时目录
     */
    const UPLOAD = 'upload';

    /**
     * 如果作曲家由Magento Application运行,则存储与作曲家相关的文件(配置,缓存等)的目录
     */
    const COMPOSER_HOME = 'composer_home';

    /**
     * 临时实现目录的后缀,其中将写入预处理文件(如有必要)
     */
    const TMP_MATERIALIZATION_DIR = 'view_preprocessed';

    const TEMPLATE_MINIFICATION_DIR = 'html';

    /**
     * 获取默认的配置目录
     */
    public static function getDefaultConfig()
    {
        $result = [
            self::ROOT => [parent::PATH => ''],
            self::APP => [parent::PATH => 'app'],
            self::CONFIG => [parent::PATH => 'app/etc'],
            self::LIB_INTERNAL => [parent::PATH => 'lib/internal'],
            self::VAR_DIR => [parent::PATH => 'var'],
            self::CACHE => [parent::PATH => 'var/cache'],
            self::LOG => [parent::PATH => 'var/log'],
            self::DI => [parent::PATH => 'var/di'],
            self::GENERATION => [parent::PATH => 'var/generation'],
            self::SESSION => [parent::PATH => 'var/session'],
            self::MEDIA => [parent::PATH => 'pub/media', parent::URL_PATH => 'pub/media'],
            self::STATIC_VIEW => [parent::PATH => 'pub/static', parent::URL_PATH => 'pub/static'],
            self::PUB => [parent::PATH => 'pub', parent::URL_PATH => 'pub'],
            self::LIB_WEB => [parent::PATH => 'lib/web'],
            self::TMP => [parent::PATH => 'var/tmp'],
            self::UPLOAD => [parent::PATH => 'pub/media/upload', parent::URL_PATH => 'pub/media/upload'],
            self::TMP_MATERIALIZATION_DIR => [parent::PATH => 'var/view_preprocessed'],
            self::TEMPLATE_MINIFICATION_DIR => [parent::PATH => 'var/view_preprocessed/html'],
            self::SETUP => [parent::PATH => 'setup/src'],
            self::COMPOSER_HOME => [parent::PATH => 'var/composer_home'],
        ];
        return parent::getDefaultConfig() + $result;
    }

    /**
     * {@inheritdoc}
     */
    public function __construct($root, array $config = [])
    {
        parent::__construct($root, [self::ROOT => [self::PATH => $root]] + $config);
    }
}

猜你喜欢

转载自blog.csdn.net/qq2942713658/article/details/81208226