コード例 #1
0
ファイル: ClassAutoloader.php プロジェクト: DevSKolb/FLOWLite
 /**
  * FlexiNSP
  *
  * @access public
  * @param string classname
  * @loading class from namespace of framework
  */
 public static function load($className)
 {
     // all registered namespaces
     self::$ListOfNameSpaces = NameSpaces::getNSPList();
     // if object registerd ?
     if (count(self::$ListOfNameSpaces) > 0) {
         // searching in namespace ...
         foreach (self::$ListOfNameSpaces as $Key => $Value) {
             #print_r(NameSpaces::${$Value});
             if (array_key_exists($className, NameSpaces::${$Value})) {
                 #if(isset(NameSpaces::${$Value}[$className])){
                 $pathToClass = NameSpaces::${$Value}[$className];
                 if (isset($pathToClass)) {
                     if (file_exists($pathToClass)) {
                         // ... so wird sie eingebunden
                         require_once $pathToClass;
                     }
                     break;
                 }
             }
             // ${$Value} = name of class
             // {$classname} = name of property (Path) ~ name of class
             // Korrespondiert mit der STATIC Klasse "NameSpaces"
             /*
                      		if(isset(NameSpaces::${$Value}->{$className})){       
             
             					// Name des Pfades und der Klasse
             					$ExternalPathAndNameOfClass = NameSpaces::${$Value}->{$className};
             
                         		// Existiert die Klasse, ...
                         		if(file_exists($ExternalPathAndNameOfClass)){ 
             			  
             		      			// ... so wird sie eingebunden
             				  		require_once($ExternalPathAndNameOfClass); 
             					} 
             	        		break;        
                      		} #if
             */
         }
         #foreach
     }
     #count
 }