Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Autoloading with Classmapper

compwright edited this page · 2 revisions
Clone this wiki locally

Classmapper

A tiny classmap autoloader for CodeIgniter.

Author: Jonathon Hill

Use Case

  • You want to load classes without having them attached to the $this super-object.
  • Your classes are interdependent, so that manual load calls have a high chances of being executed more than once.
  • You want a true autoloader in CodeIgniter.

Installation

Download from Github: https://github.com/compwright/codeigniter_classmap

To install, copy the contents of this package into your CodeIgniter application directory and define a pre_system hook to call Classmapper::register():

$hook['pre_system'] = array(
    'class'    => 'Classmapper',
    'function' => 'register',
    'filename' => 'Classmapper.php',
    'filepath' => 'hooks',
);

Be sure to enable hooks in your main config.php file.

Usage

Once Classmapper is installed, you have to manually configure the config/classmap.php file for each of the classes that you want to be able to autoload:

$classmap = array(
    'Foolib'          => APPPATH . 'libraries/Foolib.php',
    'ThirdPartyClass' => APPPATH . 'third_party/package/Class.php',
);

You may now instantiate objects from the classes you defined without having to manually require or call $this->load, and the required file will be loaded automatically.

$foo = new Foolib();

Enjoy!

Something went wrong with that request. Please try again.