Ejemplo n.º 1
0
 /**
  * 遍历文件文件夹 
  * 
  * 回调函数应接收一个参数 值为字符串文件/文件夹名
  * 回调函数中返回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;
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
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']);