コード例 #1
0
 /**
  * Retrieves the singleton instance
  * @return ClassAutoloader
  */
 public static function get_instance()
 {
     if (is_null(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
コード例 #2
0
 /**
  * Initializes the autoloader subsystem
  */
 public static function enable_autoload_system()
 {
     if (!class_exists('ClassAutoloader')) {
         self::include_once_file_if_exists(WORDPRESS_THEME_UTILS_PATH . WORDPRESS_THEME_UTILS_AUTOLOADER_RELATIVE_PATH);
     }
     if (class_exists('ClassAutoloader')) {
         ClassAutoloader::get_instance()->add_loading_template(get_stylesheet_directory() . '/' . WORDPRESS_THEME_UTILS_DIRNAME . '/%classname%.class.php')->add_loading_template(get_template_directory() . '/' . WORDPRESS_THEME_UTILS_DIRNAME . '/%classname%.class.php');
     }
 }
コード例 #3
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
 }
コード例 #4
0
ファイル: BootstrapX.php プロジェクト: DevSKolb/FLOWLite
 /**
  * Initializes the class loader
  *
  * @return void
  */
 private function initializeClassLoader()
 {
     if (!class_exists(FL_PATH_CLASSES . '/Resources/ClassAutoloader.php', FALSE)) {
         require FL_PATH_CLASSES . '/Resources/ClassAutoloader.php';
         ClassAutoloader::register();
     }
 }
コード例 #5
0
<?php

include_once __DIR__ . '/../lib/ClassAutoloader.class.php';
$dir = realpath(__DIR__ . '/../../laravel/vendor');
$dir = realpath(__DIR__ . '/../../ZendFramework-2.4.9');
echo '<pre>';
echo '<br><br>Scan ' . $dir . '.<br><br>Paths are relative to the directory where the file that defines ClassAutoloader is stored:<br><br>';
$ca = ClassAutoloader::___getInstance(array($dir), __DIR__ . '/../class-autoloader-config.php', true, array(__DIR__ . '/../test-classes/lib/sub-lib/backup'), array('php'), array('class.php'));
print_r($ca->debugGetDeclaredClasses());
コード例 #6
0
<?php

$sourcesDir = __DIR__ . '/../../test-classes';
$am = ClassAutoloader::___getInstance($sourcesDir, __DIR__ . '/../../', false);
$sourceFileNames = $am->debugGetSourceFileNames();
$this->ASSERT_TRUE(in_array('../test-classes/SampleClass.class.php', $sourceFileNames));
$this->ASSERT_TRUE(in_array('../test-classes/Sources.php', $sourceFileNames));
$this->ASSERT_TRUE(in_array('../test-classes/lib/Class2.class.php', $sourceFileNames));
$this->ASSERT_TRUE(in_array('../test-classes/lib/sub-lib/OtherSources.php', $sourceFileNames));
$declaredClasses = $am->debugGetDeclaredClasses();
$this->ASSERT_EQUALS($declaredClasses['SampleNS\\SampleClass'], '../test-classes/SampleClass.class.php');
$this->ASSERT_EQUALS($declaredClasses['TestClass'], '../test-classes/Sources.php');
$this->ASSERT_EQUALS($declaredClasses['TestClass2'], '../test-classes/Sources.php');
$this->ASSERT_EQUALS($declaredClasses['C2'], '../test-classes/lib/Class2.class.php');
$this->ASSERT_EQUALS($declaredClasses['NS2\\SubClass'], '../test-classes/lib/sub-lib/OtherSources.php');
$obj = new \SampleNS\SampleClass();