Skip to content
Lightweight PSR-4 PHP Autoloader Class.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

PHP Autoloader

Lightweight PSR-4 PHP Autoloader Class.

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


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

Or install it manually:

Download autoloader.php:

$ wget



  • $namespace : PHP Namspace To Handle Autoload For
  • $classmap : 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

       * 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.