Think/Build.php
public static function buildAppDir($module)
    {
        // 没有创建的话自动创建
        if (!is_dir(APP_PATH)) {
            mkdir(APP_PATH, 0755, true);
        }
        if (is_writeable(APP_PATH)) {
            $dirs = [
                COMMON_PATH,
                COMMON_PATH.'Common/',
                CONF_PATH,
                APP_PATH.$module.'/',
                APP_PATH.$module.'/Common/',
                APP_PATH.$module.'/Controller/',
                APP_PATH.$module.'/Model/',
                APP_PATH.$module.'/Conf/',
                APP_PATH.$module.'/View/',
                RUNTIME_PATH,
                CACHE_PATH,
                CACHE_PATH.$module.'/',
                LOG_PATH,
                LOG_PATH.$module.'/',
                TEMP_PATH,
                DATA_PATH,
            ];
            foreach ($dirs as $dir) {
                if (!is_dir($dir)) {
                    mkdir($dir, 0755, true);
                }
            }
            // 写入应用配置文件
            if (!is_file(CONF_PATH.'config.php')) {
                file_put_contents(CONF_PATH.'config.php', "<?php\nreturn [\n\t//'配置项'=>'配置值'\n];");
            }
            // 写入模块配置文件
            if (!is_file(APP_PATH.$module.'/Conf/config.php')) {
                file_put_contents(APP_PATH.$module.'/Conf/config.php', "<?php\nreturn [\n\t//'配置项'=>'配置值'\n];");
            }
            // 生成模块的测试控制器
            if (defined('BUILD_CONTROLLER_LIST')) {
                // 自动生成的控制器列表（注意大小写）
                $list = explode(',', BUILD_CONTROLLER_LIST);
                foreach ($list as $controller) {
                    static::buildController($module, $controller);
                }
            } else {
                // 生成默认的控制器
                static::buildController($module);
            }
            // 生成模块的模型
            if (defined('BUILD_MODEL_LIST')) {
                // 自动生成的控制器列表（注意大小写）
                $list = explode(',', BUILD_MODEL_LIST);
                foreach ($list as $model) {
                    static::buildModel($module, $model);
                }
            }
        } else {
            header('Content-Type:text/html; charset=utf-8');
            Think::halt('应用目录['.APP_PATH.']不可写，目录无法自动生成！<BR>请手动生成项目目录~');
        }
    }
public static function buildAppDir($module)
    {
        // 没有创建的话自动创建
        if (!is_dir(APP_PATH)) {
            mkdir(APP_PATH, 0755, true);
        }
        if (is_writeable(APP_PATH)) {
            $dirs = [
                COMMON_PATH,
                COMMON_PATH.'Common/',
                CONF_PATH,
                APP_PATH.$module.'/',
                APP_PATH.$module.'/Common/',
                APP_PATH.$module.'/Controller/',
                APP_PATH.$module.'/Model/',
                APP_PATH.$module.'/Conf/',
                APP_PATH.$module.'/View/',
                RUNTIME_PATH,
                CACHE_PATH,
                CACHE_PATH.$module.'/',
                LOG_PATH,
                LOG_PATH.$module.'/',
                TEMP_PATH,
                DATA_PATH,
            ];
            foreach ($dirs as $dir) {
                if (!is_dir($dir)) {
                    mkdir($dir, 0755, true);
                }
            }
            // 写入应用配置文件
            if (!is_file(CONF_PATH.'config.php')) {
                file_put_contents(CONF_PATH.'config.php', "<?php\nreturn [\n\t//'配置项'=>'配置值'\n];");
            }
            // 写入模块配置文件
            if (!is_file(APP_PATH.$module.'/Conf/config.php')) {
                file_put_contents(APP_PATH.$module.'/Conf/config.php', "<?php\nreturn [\n\t//'配置项'=>'配置值'\n];");
            }
            // 生成模块的测试控制器
            if (defined('BUILD_CONTROLLER_LIST')) {
                // 自动生成的控制器列表（注意大小写）
                $list = explode(',', BUILD_CONTROLLER_LIST);
                foreach ($list as $controller) {
                    static::buildController($module, $controller);
                }
            } else {
                // 生成默认的控制器
                static::buildController($module);
            }
            // 生成模块的模型
            if (defined('BUILD_MODEL_LIST')) {
                // 自动生成的控制器列表（注意大小写）
                $list = explode(',', BUILD_MODEL_LIST);
                foreach ($list as $model) {
                    static::buildModel($module, $model);
                }
            }
        } else {
            header('Content-Type:text/html; charset=utf-8');
            Think::halt('应用目录['.APP_PATH.']不可写，目录无法自动生成！<BR>请手动生成项目目录~');
        }
    }
创建应用和模块的目录结构

@param $module