Skip to content
Lightweight PSR-4 PHP Autoloader Class.
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitattributes
.gitignore
LICENSE
composer.json
readme.md

readme.md

PHP Autoloader

Lightweight PSR-4 PHP Autoloader Class.

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock available

Installation

The preferred way to install this extension is through Composer.

To install PHP_Autoloader library, simply:

$ composer require varunsridharan/php-autoloader

The previous command will only install the necessary files, if you prefer to download the entire source code you can use:

$ composer require varunsridharan/php-autoloader --prefer-source

You can also clone the complete repository with Git:

$ git clone https://github.com/varunsridharan/php-autoloader.git

Or install it manually:

Download autoloader.php:

$ wget https://raw.githubusercontent.com/varunsridharan/php-autoloader/master/src/autoloader.php

Usage

Arguments

  • $namespace : PHP Namspace To Handle Autoload For
  • $classmap : https://github.com/varunsridharan/php-classmap-generator Generated Classmap File.
  • $path : Full Path to lookup for php files
  • $options : An Array of useful Arguments.
  • $prepend : Option to prepend / append current autoloader with exists autoloaders.

$options Arguments

  array(
      /**
       * An Array of Class Namespace to Exclude While Checking for current namespace.
       * Eg
       * Main Namespace \Testing\Core
       * Exclude \Testing\Core\Abstracts
       */
      'exclude' => false,
      
      /**
       * Custom Option To Quickly Remap A Class File. 
       * If any class added then it will not search.
       * instead it gets the location from here and loads it.
       * An Array of class and its file location
       */
      'mapping' => array(),
      
      /**
       * Set To True / False.
       */
      'debug'   => false,
  );

Example Folder Stucture

  | - src\
  | -- class1\
  | --- class1.php
  | -- class2\
  | --- class2.php
  | --- class3\
  | ---- class3.php
  | - loader.php
  | - index.php

loader.php SourceCode

  $autoloader = new \Varunsridharan\PHP\Autoloader('varun',__DIR__.'/src/',array(
      'mapping' => array(
          'varun\class2\class3\class3' => 'src/class2/class3/class3.php',
      )
  ))

index.php SoruceCode

  require __DIR__.'loader.php';
  
  $class1 = new \varun\class1\class1(); // This file is autoloaded based on the namespace 
  $class2 = new \varun\class1\class2(); // This file is autoloaded based on the namespace 
  $class3 = new \varun\class1\class3(); // This file is loaded using the data from remap array

Sponsored By

DigitalOcean JetBrains

You can’t perform that action at this time.