diff --git a/application/config/aliases.php b/application/config/aliases.php index 0ba727ad..bef65063 100644 --- a/application/config/aliases.php +++ b/application/config/aliases.php @@ -35,6 +35,7 @@ 'Inflector' => 'System\\Inflector', 'Input' => 'System\\Input', 'Lang' => 'System\\Lang', + 'Loader' => 'System\\Loader', 'Package' => 'System\\Package', 'URL' => 'System\\URL', 'Redirect' => 'System\\Redirect', diff --git a/public/index.php b/public/index.php index 998464d0..1352de5d 100644 --- a/public/index.php +++ b/public/index.php @@ -145,7 +145,7 @@ // -------------------------------------------------------------- require SYS_PATH.'package'.EXT; -System\Package::load(System\Config::get('packages.autoload')); +System\Package::load(System\Config::get('package.autoload')); // -------------------------------------------------------------- // Register the route filters. diff --git a/system/loader.php b/system/loader.php index e0f69e42..56f8610a 100644 --- a/system/loader.php +++ b/system/loader.php @@ -65,7 +65,7 @@ public static function load($class) */ public static function register($path) { - static::$paths[] = $path; + static::$paths[] = rtrim($path, '/').'/'; } } \ No newline at end of file diff --git a/system/package.php b/system/package.php index 08c24fe3..5adb64ec 100644 --- a/system/package.php +++ b/system/package.php @@ -12,30 +12,23 @@ class Package { /** * Load a package or set of packages. * - * @param string|array $package + * @param string|array $packages * @return void */ - public static function load($package) + public static function load($packages) { - if (is_array($package)) + foreach ((array) $packages as $package) { - foreach ($package as $value) + // Packages may have a bootstrap file, which commonly is used to register auto-loaders + // and perform other initialization needed to use the package. If the package has a + // bootstrapper, we will require it here. + if ( ! array_key_exists($package, static::$loaded) and file_exists($path = PACKAGE_PATH.$package.'/bootstrap'.EXT)) { - static::load($value); + require $path; } - return; + static::$loaded[] = $package; } - - // Packages may have a bootstrap file, which commonly is used to register auto-loaders - // and perform other initialization needed to use the package. If the package has a - // bootstrapper, we will require it here. - if ( ! array_key_exists($package, static::$loaded) and file_exists($path = PACKAGE_PATH.$package.'/bootstrap'.EXT)) - { - require $path; - } - - static::$loaded[] = $package; } } \ No newline at end of file