You are here

class Autoloader in One Click Upload 7.2

Hierarchy

Expanded class hierarchy of Autoloader

File

flowphp/src/Flow/Autoloader.php, line 5

Namespace

Flow
View source
class Autoloader {

  /**
   * Directory path
   *
   * @var string
   */
  private $dir;

  /**
   * Constructor
   *
   * @param string|null $dir
   */
  public function __construct($dir = null) {
    if (is_null($dir)) {
      $dir = __DIR__ . '/..';
    }
    $this->dir = $dir;
  }

  /**
   * Return directory path
   *
   * @return string
   */
  public function getDir() {
    return $this->dir;
  }

  /**
   * Register
   *
   * @codeCoverageIgnore
   * @param string|null $dir
   */
  public static function register($dir = null) {
    ini_set('unserialize_callback_func', 'spl_autoload_call');
    spl_autoload_register(array(
      new self($dir),
      'autoload',
    ));
  }

  /**
   * Handles autoloading of classes
   *
   * @param string $class A class name
   *
   * @return boolean Returns true if the class has been loaded
   */
  public function autoload($class) {
    if (0 !== strpos($class, 'Flow')) {
      return;
    }
    if (file_exists($file = $this->dir . '/' . str_replace('\\', '/', $class) . '.php')) {
      require $file;
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Autoloader::$dir private property Directory path
Autoloader::autoload public function Handles autoloading of classes
Autoloader::getDir public function Return directory path
Autoloader::register public static function Register
Autoloader::__construct public function Constructor