Map-based autoloader across php and phar resources

βŒˆβŒ‹ βŽ‡ branch:  Canonic Autoloader

Build in trigger script for DPKG and RPM (untested).
mario authored 856 days ago last checkin 18e74838b
πŸ“„ LICENSE Add minimum documentation (changelog, license, readme, manpage)β€Ήβ€Ί 992 days ago
πŸ“„ NEWS Prepare 0.3.4 step release.β€Ήβ€Ί 856 days ago
πŸ“„ README Update notes about pharmap.php and addPhar(). (Section about recommenβ€Ήβ€Ί 856 days ago
πŸ“„ manpage.1 Typos in manpage.β€Ήβ€Ί 856 days ago
πŸ“„ mk Build in trigger script for DPKG and RPM (untested).β€Ήβ€Ί 856 days ago
πŸ“„ pharmap.php Tool to regenerate .phar-internal class/func `map`, which is compatibβ€Ήβ€Ί 856 days ago
πŸ“„ shared.phar Test build of 0.3.4β€Ήβ€Ί 856 days ago
πŸ“„ stub.php Build in trigger script for DPKG and RPM (untested).β€Ήβ€Ί 856 days ago
πŸ“„ update.php Skip hidden .dot directories (as in .git/* and .svn/*)β€Ήβ€Ί 999 days ago

Canonic Autoloader

Features

shared.phar is a streets ahead PHP autoloader.

  • Self-contained in a single compressed Phar ⎘.
  • Can be updated easily from the command line or implicitly.
  • Is class-map based and handles identifiers PHP-compliant.
  • Phar collections become first class citizens, as both plain *.php scripts and phar://* packages are scanned for identifier declarations.
  • Indifferent to PSR-0/4 constraints, works atop any legacy or custom directory scheme.
  • Prepares rfc:function_autoloading userland support.
  • Can be used project-locally and for /usr/share/php handling.
  • And for deployment is just copied along with the classpath.

Also it's placed into the Public Domain.

Usage

It can be utilized easily with:

 include_once("shared.phar");

And updated manually on the command line:

 php ./shared.phar

Or implicitly on development setups by pre-declaring an environment variable.

 SetEnv AUTOLOADER_UPDATE 1

Project

Development State
early development stage / experimental
Releases
Releases will be announced on http://freshcode.club/projects/sharedphar
Packages
Debian packages are available via http://apt.include-once.org/