Skip to content

Pack PHP MVcCore application into single PHP file or any PHP application into PHAR archive.

License

Notifications You must be signed in to change notification settings

mvccore/packager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Packager

Latest Stable Version License PHP Version

Features

  • pack PHP MvcCore application into single PHP file
  • pack any PHP application into PHAR archive

Installation

composer require mvccore/packager

Configuration

  • directory with whole app source to pack (/development/...)
  • result index.php file where to store packed result
  • no needs to define PHP scripts order anymore - automatic order detecting by reading PHP scripts
  • exclude patterns by regular expressions to exclude any files or folders from app source
  • string replacements applied on every packed PHP file before minimalization
  • minimalizing PHTML templates
  • minimalizing PHP scripts
  • PHP packing has now 4 options, how implemented file system wrapping functions could behave:
    • strict package mode (\Packager_Php::FS_MODE_STRICT_PACKAGE) (everything is only possible to get from index.php, very fast for specific application types in IIS/PHP/op_cache)
    • strict hard drive mode (\Packager_Php::FS_MODE_STRICT_HDD) (no file system wrapping functions)
    • php library mode (\Packager_Php::FS_MODE_PHP_LIBRARY) (no file system wrapping functions, no PHP code replacements except namespace merge)
    • preserve php package mode (\Packager_Php::FS_MODE_PRESERVE_PACKAGE) (first there is check if it is possible to get anything from index.php, then from hard drive)
    • preserve hard drive mode (\Packager_Php::FS_MODE_PRESERVE_HDD) (first there is check if it is possible to get anything from hard drive, then from index.php)
  • there are implemented those file system wrapping functions and constants:
    • __DIR__ and __FILE__
    • require_once();, include_once();, require();, include();
    • new DirectoryIterator();, new SplFileInfo();
    • readfile();, file_get_contents();
    • file_exists();, is_file();, is_dir();, mkdir(), filemtime();, filesize();
    • simplexml_load_file();, parse_ini_file();, md5_file();
  • possibility to define which file system wrapping functions should be keeped and not wrapped
  • for PHP packing - possibility to define files by extension how to store them inside index.php result
    • pure text
    • php code
    • binary
    • gzipped content
    • base64 encoded content

Examples

About

Pack PHP MVcCore application into single PHP file or any PHP application into PHAR archive.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages