Added scanApplicationClasses().
[core.git] / inc / loader / class_ClassLoader.php
index dce3df9c9fa5832bf258906ccb83531146c5565f..cc7bb8152237b18ce4b9aae3d8253178455d27bb 100644 (file)
@@ -98,6 +98,17 @@ class ClassLoader {
         */
        private $total = 0;
 
         */
        private $total = 0;
 
+       /**
+        * Framework/application paths for classes, etc.
+        */
+       private static $frameworkPaths = array(
+               'exceptions', // Exceptions
+               'interfaces', // Interfaces
+               'main',       // General main classes
+               'middleware'  // The middleware
+       );
+
+
        /**
         * The protected constructor. Please use the factory method below, or use
         * getSelfInstance() for singleton
        /**
         * The protected constructor. Please use the factory method below, or use
         * getSelfInstance() for singleton
@@ -163,24 +174,32 @@ class ClassLoader {
         * @return      void
         */
        public static function scanFrameworkClasses () {
         * @return      void
         */
        public static function scanFrameworkClasses () {
-               // Lower framework classes
-               $lowerClasses = array(
-                       'exceptions', // Exceptions
-                       'interfaces', // Interfaces
-                       'main',       // General main classes
-                       'middleware'  // The middleware
-               );
-
                // Cache loader instance
                $loaderInstance = self::getSelfInstance();
 
                // Load all classes
                // Cache loader instance
                $loaderInstance = self::getSelfInstance();
 
                // Load all classes
-               foreach ($lowerClasses as $className) {
+               foreach (self::$frameworkPaths as $className) {
                        // Try to load the framework classes
                        $loaderInstance->scanClassPath('inc/classes/' . $className . '/');
                } // END - foreach
        }
 
                        // Try to load the framework classes
                        $loaderInstance->scanClassPath('inc/classes/' . $className . '/');
                } // END - foreach
        }
 
+       /**
+        * Scans for application's classes, etc.
+        *
+        * @return      void
+        */
+       public static function scanApplicationClasses () {
+               // Get config instance
+               $cfg = FrameworkConfiguration::getSelfInstance();
+
+               // Load all classes for the application
+               foreach (self::$frameworkPaths as $class) {
+                       // Try to load the application classes
+                       ClassLoader::getSelfInstance()->scanClassPath(sprintf('%s/%s/%s', $cfg->getConfigEntry('application_path'), $cfg->getConfigEntry('app_name'), $class));
+               } // END - foreach
+       }
+
        /**
         * Initializes our loader class
         *
        /**
         * Initializes our loader class
         *