Skip to content

theperfectwill/php-autoloader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • $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

Packages

No packages published

Languages

  • PHP 100.0%