// +----------------------------------------------------------------------namespace think;class Build{// 建造大师,    /**     * 根据传入的build资料创建目录和文件     * @access protected     * @param  array  $build build列表     * @param  string $namespace 应用类库命名空间     * @param  bool   $suffix 类库后缀     * @return void     */    public static function run(array $build = [], $namespace = 'app', $suffix = false)    {// 就是创建 文件,或者是目录        // 锁定        $lockfile = APP_PATH . 'build.lock';// 创建一个锁定文件        if (is_writable($lockfile)) {// 如果文件可以写入 返回 也就是这个文件是否存在,存在就代表 已经创建完成            // 同时这个文件 代表写入锁定,我在,你就不能写入            return;        } elseif (!touch($lockfile)) {// 如果不可以创建,抛出异常            throw new Exception('应用目录[' . APP_PATH . ']不可写,目录无法自动生成!
请手动生成项目目录~', 10006);        }        foreach ($build as $module => $list) {            if ('__dir__' == $module) {// 目录                // 创建目录列表                self::buildDir($list);            } elseif ('__file__' == $module) {// 文件                // 创建文件列表                self::buildFile($list);            } else {                // 创建模块                self::module($module, $list, $namespace, $suffix);            }        }        // 解除锁定        unlink($lockfile);// 删除 锁定文件,    }    /**     * 创建目录     * @access protected     * @param  array $list 目录列表     * @return void     */    protected static function buildDir($list)    {        foreach ($list as $dir) {            if (!is_dir(APP_PATH . $dir)) {                // 创建目录                mkdir(APP_PATH . $dir, 0755, true);// 创建文件 权限不高,多级目录,可以            }        }    }    /**     * 创建文件     * @access protected     * @param  array $list 文件列表     * @return void     */    protected static function buildFile($list)    {        foreach ($list as $file) {            if (!is_dir(APP_PATH . dirname($file))) {                // 创建目录                mkdir(APP_PATH . dirname($file), 0755, true);// 首先创建目录            }            if (!is_file(APP_PATH . $file)) {                file_put_contents(APP_PATH . $file, 'php' == pathinfo($file, PATHINFO_EXTENSION) ? "
 ['config.php', 'common.php'],                '__dir__'  => ['controller', 'model', 'view'],            ];        }// 默认创建的内容        // 创建子目录和文件        foreach ($list as $path => $file) {            $modulePath = APP_PATH . $module . DS;// 获取路径            if ('__dir__' == $path) {                // 生成子目录                foreach ($file as $dir) {                    if (!is_dir($modulePath . $dir)) {                        // 创建目录                        mkdir($modulePath . $dir, 0755, true);                    }                }            } elseif ('__file__' == $path) {                // 生成(空白)文件                foreach ($file as $name) {                    if (!is_file($modulePath . $name)) {                        file_put_contents($modulePath . $name, 'php' == pathinfo($name, PATHINFO_EXTENSION) ? "