diff --git a/System/Application.php b/System/Application.php index 3d96e15f..67d4b6a7 100644 --- a/System/Application.php +++ b/System/Application.php @@ -38,6 +38,17 @@ class Application extends BaseApplication public $id = 'uniqueId'; + /** + * Application constructor. + * @param array $config + */ + public function __construct(array $config = []) + { + $this->scanning(); + parent::__construct($config); + } + + /** * @throws ConfigException * @throws NotFindClassException @@ -109,6 +120,17 @@ class Application extends BaseApplication } + /** + * + */ + private function scanning() + { + $this->debug('start scanning...'); + loadByDir(__DIR__ . '/../'); + $this->debug('scanning end...'); + } + + /** * @param $className * @param null $abstracts diff --git a/function.php b/function.php index e8956c07..60fb7878 100644 --- a/function.php +++ b/function.php @@ -32,6 +32,27 @@ if (!function_exists('make')) { } +} + +if (!function_exists('loadByDir')) { + + + /** + * @param $path + */ + function loadByDir($path) + { + $path = rtrim($path, '/'); + foreach (glob($path . '/*') as $value) { + if (is_dir($value)) { + loadByDir($value); + }else{ + include_once "$value"; + } + } + } + + }