Map-based autoloader across php and phar resources

⌈⌋ branch:  Canonic Autoloader


Artifact [fbe27531c3]

Artifact fbe27531c34920ca9a6931ef5fe0a8555aacedcc:

Wiki page [Canonic Autoloader] by mario 2014-03-20 17:42:50.
D 2014-03-20T17:42:50.250
L Canonic\sAutoloader
N text/x-markdown
P 3faa122ccd6036bc588f86830aaf5041ef62e1d9
U mario
W 1729
<h3>Features</h3>

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

  *  Self-contained in a single compressed [phar](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 manualy](wiki/update) y 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 d74ffddacc5c2a1cb56e9c67f47f3fa0