/** * 遍历文件文件夹 * * 回调函数应接收一个参数 值为字符串文件/文件夹名 * 回调函数中返回false则跳出遍历, 返回-1则跳过(如果是文件夹) * * @param string $dir * @param object $callback * @return null */ function eachdir($dir, $callback) { $dir = rtrim($dir, '/\\') . '/'; if (is_dir($dir)) { if ($handle = opendir($dir)) { while (($file = readdir($handle)) !== false) { if ($file != '.' && $file != '..') { $file = $dir . $file; if (($signal = $callback($file)) === false) { return false; } if (is_dir($file) && $signal != -1) { if (eachdir($file, $callback) === false) { break; } } } } } } }
unset($loader); // 类别名 PHPKit\PHPKit => PHPKit\App PHPKit\PHPKit::classAlias(['PHPKit\\App' => PHPKit\PHPKit::class]); /** * 注册/声明 用到的工具 设置初始化方法 * * 祝玩的开心 ~ ^___^ ~ */ return PHPKit\PHPKit::registerTools(['PHPKit', 'Helper', 'Heresy' => function () { $heresy = PHPKit\Heresy::getInstance(); $heresy->searchNamespace(['PHPKit\\'])->bewitch('\\'); return $heresy; }, 'Config' => function () { $config = Config::getInstance(); eachdir(__DIR__ . '/../config', function ($file) use($config) { $config->load($file); }); return $config; }, 'View' => function () { $view = View::getInstance(); $view->setViewsDir(__DIR__ . '/../resources/views'); return $view; }, 'DB' => function () { $db = DB::getInstance(); $db->setConfig(Config('database')); return $db; }, 'AR', 'Session' => function () { $session = Session::getInstance(); $session->start(Config('session')); return $session; }])->alias('phpkit', 'app')->loadTools(['Heresy']);