示例#1
0
 public static function register()
 {
     if (self::isRegistered()) {
         return false;
     }
     self::$isRegistered = spl_autoload_register(self::$callback);
     return self::$isRegistered;
 }
示例#2
0
function __autoload($class)
{
    if (Autoloader::isRegistered($class)) {
        Autoloader::retrieve($class);
    } else {
        trigger_error('__autoload: The requested class "' . $class . '" is not registered.', E_USER_ERROR);
    }
    // end function
}
示例#3
0
 /**
  * Tests normalization
  *
  * An autoloader will unregister itself automatically if another autoloader
  * would include it. On the other hand, if including autoloader is unregistered
  * all automatically unregistered autoloaders should be registered again.
  *
  * @see Autoloader::register()
  * @see Autoloader::remove()
  * @see Autoloader::_normalizeSearchPaths()
  * @see Autoloader::_removeByNormalization()
  * @return void
  */
 public function testNormalizedClassPaths()
 {
     $autoloader = Autoloader::getRegisteredAutoloader();
     Autoloader::removeAll();
     $classA = $this->_autoloaderTestHelper->makeClass("A", "testNormalizedClassPaths");
     $classB = $this->_autoloaderTestHelper->makeClass("B", "testNormalizedClassPaths/B");
     $autoloaderA = new Autoloader(AutoloaderTestHelper::getClassDirectory() . "/testNormalizedClassPaths");
     $autoloaderA->register();
     $autoloaderB = new Autoloader(AutoloaderTestHelper::getClassDirectory() . "/testNormalizedClassPaths/B");
     $autoloaderB->register();
     $this->assertTrue($autoloaderA->isRegistered());
     $this->assertFalse($autoloaderB->isRegistered());
     $this->_autoloaderTestHelper->assertLoadable($classA);
     $this->_autoloaderTestHelper->assertLoadable($classB);
     Autoloader::removeAll();
     $classA = $this->_autoloaderTestHelper->makeClass("A", "testNormalizedClassPaths");
     $classB = $this->_autoloaderTestHelper->makeClass("B", "testNormalizedClassPaths/B");
     $autoloaderB = new Autoloader(AutoloaderTestHelper::getClassDirectory() . "/testNormalizedClassPaths/B");
     $autoloaderB->register();
     $autoloaderA = new Autoloader(AutoloaderTestHelper::getClassDirectory() . "/testNormalizedClassPaths");
     $autoloaderA->register();
     $this->_autoloaderTestHelper->assertLoadable($classA);
     $this->_autoloaderTestHelper->assertLoadable($classB);
     $this->assertTrue($autoloaderA->isRegistered());
     $this->assertFalse($autoloaderB->isRegistered());
     Autoloader::removeAll();
     $autoloader->register();
 }