Continued:
authorRoland Häder <roland@mxchange.org>
Sun, 16 Jul 2017 11:14:01 +0000 (13:14 +0200)
committerRoland Häder <roland@mxchange.org>
Sun, 16 Jul 2017 11:23:45 +0000 (13:23 +0200)
- rewrote some parts of the class loader to e.g. avoid loading full lust into
  variable and then only decode it
- renamed shortended variables
- cut a very long variable down a bit (one word)
- ignored all logfiles in root directory

Signed-off-by: Roland Häder <roland@mxchange.org>
.gitignore
framework/loader/class_ClassLoader.php
index.php

index f713dce..cf01b07 100644 (file)
@@ -19,3 +19,4 @@
 /reports/
 /vendor/
 /phpunit.xml
+/*.log
index e1660b2..9f78f96 100644 (file)
@@ -117,7 +117,7 @@ class ClassLoader {
        /**
         * By default the class loader is strict with naming-convention check
         */
-       private static $strictNamingConventionCheck = true;
+       private static $strictNamingConvention = true;
 
        /**
         * Framework/application paths for classes, etc.
@@ -207,7 +207,7 @@ class ClassLoader {
                $loaderInstance = self::getSelfInstance();
 
                // Get config instance
-               $cfg = FrameworkConfiguration::getSelfInstance();
+               $configInstance = FrameworkConfiguration::getSelfInstance();
 
                // Load all classes
                foreach (self::$frameworkPaths as $shortPath) {
@@ -215,26 +215,28 @@ class ClassLoader {
                        //* NOISY-DEBUG: */ printf('[%s:%d]: shortPath=%s' . PHP_EOL, __METHOD__, __LINE__, $shortPath);
 
                        // Generate full path from it
-                       $pathName = realpath(sprintf(
-                               '%smain/%s/',
-                               $cfg->getConfigEntry('framework_base_path'),
-                               $shortPath
+                       $realPathName = realpath(sprintf(
+                               '%smain%s%s%s',
+                               $configInstance->getConfigEntry('framework_base_path'),
+                               DIRECTORY_SEPARATOR,
+                               $shortPath,
+                               DIRECTORY_SEPARATOR
                        ));
 
                        // Debug message
-                       //* NOISY-DEBUG: */ printf('[%s:%d]: pathName=%s' . PHP_EOL, __METHOD__, __LINE__, $pathName);
+                       //* NOISY-DEBUG: */ printf('[%s:%d]: realPathName=%s' . PHP_EOL, __METHOD__, __LINE__, $realPathName);
 
                        // Is it not false and accessible?
-                       if (is_bool($pathName)) {
+                       if (is_bool($realPathName)) {
                                // Skip this
                                continue;
-                       } elseif (!is_readable($pathName)) {
+                       } elseif (!is_readable($realPathName)) {
                                // @TODO Throw exception instead of break
                                break;
                        }
 
                        // Try to load the framework classes
-                       $loaderInstance->scanClassPath($pathName);
+                       $loaderInstance->scanClassPath($realPathName);
                } // END - foreach
 
                // Trace message
@@ -254,7 +256,7 @@ class ClassLoader {
                $loaderInstance = self::getSelfInstance();
 
                // Get config instance
-               $cfg = FrameworkConfiguration::getSelfInstance();
+               $configInstance = FrameworkConfiguration::getSelfInstance();
 
                // Load all classes for the application
                foreach (self::$frameworkPaths as $shortPath) {
@@ -263,9 +265,11 @@ class ClassLoader {
 
                        // Create path name
                        $pathName = realpath(sprintf(
-                               '%s/%s/%s',
-                               $cfg->getConfigEntry('application_base_path'),
-                               $cfg->getConfigEntry('detected_app_name'),
+                               '%s%s%s%s%s',
+                               $configInstance->getConfigEntry('application_base_path'),
+                               DIRECTORY_SEPARATOR,
+                               $configInstance->getConfigEntry('detected_app_name'),
+                               DIRECTORY_SEPARATOR,
                                $shortPath
                        ));
 
@@ -293,7 +297,7 @@ class ClassLoader {
                //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__);
 
                // Get config instance
-               $cfg = FrameworkConfiguration::getSelfInstance();
+               $configInstance = FrameworkConfiguration::getSelfInstance();
 
                // Load all classes for the application
                foreach (self::$testPaths as $shortPath) {
@@ -302,8 +306,9 @@ class ClassLoader {
 
                        // Construct path name
                        $pathName = sprintf(
-                               '%s/%s',
-                               $cfg->getConfigEntry('root_base_path'),
+                               '%s%s%s',
+                               $configInstance->getConfigEntry('root_base_path'),
+                               DIRECTORY_SEPARATOR,
                                $shortPath
                        );
 
@@ -311,15 +316,15 @@ class ClassLoader {
                        //* NOISY-DEBUG: */ printf('[%s:%d]: pathName[%s]=%s - BEFORE!' . PHP_EOL, __METHOD__, __LINE__, gettype($pathName), $pathName);
 
                        // Try to find it
-                       $pathName = realpath($pathName);
+                       $realPathName = realpath($pathName);
 
                        // Debug message
-                       //* NOISY-DEBUG: */ printf('[%s:%d]: pathName[%s]=%s - AFTER!' . PHP_EOL, __METHOD__, __LINE__, gettype($pathName), $pathName);
+                       //* NOISY-DEBUG: */ printf('[%s:%d]: realPathName[%s]=%s - AFTER!' . PHP_EOL, __METHOD__, __LINE__, gettype($realPathName), $realPathName);
 
                        // Is the path readable?
-                       if ((is_dir($pathName)) && (is_readable($pathName))) {
+                       if ((is_dir($realPathName)) && (is_readable($realPathName))) {
                                // Try to load the application classes
-                               ClassLoader::getSelfInstance()->scanClassPath($pathName);
+                               ClassLoader::getSelfInstance()->scanClassPath($realPathName);
                        } // END - if
                } // END - foreach
 
@@ -330,11 +335,11 @@ class ClassLoader {
        /**
         * Enables or disables strict naming-convention tests on class loading
         *
-        * @param       $strictNamingConventionCheck    Whether to strictly check naming-convention
+        * @param       $strictNamingConvention Whether to strictly check naming-convention
         * @return      void
         */
-       public static function enableStrictNamingConventionCheck ($strictNamingConventionCheck = true) {
-               self::$strictNamingConventionCheck = $strictNamingConventionCheck;
+       public static function enableStrictNamingConventionCheck ($strictNamingConvention = true) {
+               self::$strictNamingConvention = $strictNamingConvention;
        }
 
        /**
@@ -442,7 +447,7 @@ class ClassLoader {
                        // Get the "FQFN" (path and file name)
                        $fqfn = $currentEntry->getRealPath();
 
-                       // Current entry must be a file, not smaller than 100 bytes and not on ignore list 
+                       // Current entry must be a file, not smaller than 100 bytes and not on ignore list
                        if ((!$currentEntry->isFile()) || (in_array($fileName, $this->ignoreList)) || (filesize($fqfn) < 100)) {
                                // Advance to next entry
                                $iteratorInstance->next();
@@ -499,11 +504,8 @@ class ClassLoader {
 
                // IS the cache there?
                if (FrameworkBootstrap::isReadableFile($this->listCacheFQFN)) {
-                       // Get content
-                       $cacheContent = file_get_contents($this->listCacheFQFN);
-
-                       // And convert it
-                       $this->foundClasses = json_decode($cacheContent);
+                       // Load and convert it
+                       $this->foundClasses = json_decode(file_get_contents($this->listCacheFQFN));
 
                        // List has been restored from cache!
                        $this->listCached = true;
@@ -536,7 +538,7 @@ class ClassLoader {
                $classNameParts = explode("\\", $className);
 
                // At least 3 parts should be there
-               if ((self::$strictNamingConventionCheck === true) && (count($classNameParts) < 3)) {
+               if ((self::$strictNamingConvention === true) && (count($classNameParts) < 3)) {
                        // Namespace scheme is: Project\Package[\SubPackage...]
                        throw new InvalidArgumentException(sprintf('Class name "%s" is not conform to naming-convention: Project\Package[\SubPackage...]\SomeFooBar', $className));
                } // END - if
index f2dae4d..c5ab7dd 100644 (file)
--- a/index.php
+++ b/index.php
@@ -25,7 +25,7 @@ use \Exception;
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *