mirror of
https://github.com/bcit-ci/CodeIgniter.git
synced 2025-02-20 11:13:29 +08:00
Added new page
parent
1c9342a2be
commit
ef029cacb6
52
Autoloading-with-Classmapper.md
Normal file
52
Autoloading-with-Classmapper.md
Normal file
@ -0,0 +1,52 @@
|
||||
Classmapper
|
||||
===========
|
||||
|
||||
A tiny classmap autoloader for CodeIgniter.
|
||||
|
||||
Author: [Jonathon Hill](http://jonathonhill.net)
|
||||
|
||||
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!
|
Loading…
x
Reference in New Issue
Block a user