Map-based autoloader across php and phar resources

⌈⌋ ⎇ branch:  Canonic Autoloader


Artifact [589b00f234]

Artifact 589b00f234b6c132e8e41e405ce7f05f19bdad6e:

Wiki page [Canonic Autoloader] by mario 2014-03-20 17:53:42.
D 2014-03-20T17:53:42.354
L Canonic\sAutoloader
N text/x-markdown
P f1f2fb989cb01c1b4a2a0ea18778da93d894ff2c
U mario
W 1820
<img src=logo align=right style="margin:20pt; opacity:0.2">

<h3>Features</h3>

<kbd>[shared.phar](finfo?name=shared.phar)</kbd> is a streets ahead PHP autoloader.

  *  Self-contained in a single compressed [Phar <span class=glyph>⎘</span>](https://php.net/phar) (but may also be [split up](wiki/split)).
  *  Can be [updated easily](wiki/update) by invoking it from the command line, or [implicitly](wiki/AUTOLOADER_UPDATE).
  *  Based on a class map, interprets identifiers case-insensitively (as PHP does).
  *  Prepares [rfc:function_autoloading](wiki/rfc:function_autoloading) userland support.
  *  ***Phar collections** become first class citizens*, as both plain `*.php` scripts and `phar://*` includes are tokenized for identifier declarations.
  *  Indifferent to PSR-0/4 constraints, works atop any legacy or custom directory scheme.
  *  Is meant for `/usr/share/php` handling, but can be used project-locally just as well.
  * And for deployment is just copied along with the classpath.
       

Also it's public domain.


### Usage

It can be [utilized](wiki/include_once) easily with:

     include_once("shared.phar");

And [updated manually](wiki/update) on the command line:

     php ./shared.phar

Or <em>implicitly</em> on development setups by declaring an [AUTOLOADER_UPDATE](wiki/AUTOLOADER_UPDATE) environment variable.


### Project

<dl>
  <dt>Development State</dt>
  <dd><tt>shared.phar</tt> is still in an <em>early development stage</em>.</dd>
  <dt>Releases</dt>
  <dd>Releases will be announced on <a href="http://freecode.com/projects/sharedphar">http://freecode.com/projects/sharedphar</a></dd>
  <dt>Packages</dt>
  <dd>Debian packages are available via <a href="http://apt.include-once.org/">http://apt.include-once.org/</a></dd>
</dl>


Z afa5a3f8d13885dafa92646e2499ff86