src | ||
.gitignore | ||
LICENSE | ||
phar-creator.php | ||
README.md | ||
win-build.cmd |
phar-creator
Description
Phar-Creator is a PHP compaction tool that allows you to compress your project, library, etc. into a .phar
archive, so that you have a single file containing them all.
You can freely add an entry point in case your program is made to be executed directly by client, a web entry point, or meta data and more.
The compaction tool will also provide you with a Sha256 fingerprint of the resulting .phar
.
Use
You will find below the two modes of use of the tool, the first by using the provided windows executable win-build.cmd
or the CLI
(terminal). The second one by accessing directly the script via internet (WEB
).
For these two modes of use you will have to configure the script in the section CONSTANTS to config
. This repository is already a complete example of phar-creator use. Our example is called hello-world it has been made to be as understandable as possible I invite you to browse it to discover the structure (people used to it can abstain).
CLI packaging
Requirements
- PHP version
>= 7.4
; - PHP must be
CLI ready
(win: add to environement variable, linux: installed) ;
Examples by method
- Run the script directly into your terminal
php -dphar.readonly=0 phar-creator.php
. - Run the
win-build.cmd
script.
WEB packaging
Requirements
- PHP version
>= 7.4
; - The web server must have
read and write permissions
or run as administrator ; - In the php.ini,
phar.readonly
must be disabled, so set tofalse
;
Example web
- Simply navigate to the access url of the script
http://your-website.domain/phar-creator.php
.:k:=
Project structure (example)
*
│ phar-creator.php ==> The main tool to place in project's root directory.
│ LICENSE
│ README.md
│ win-build.cmd ==> The windows script to start the tool.
├───build ==> The build directory.
│ hello-world.phar
└───src ==> The source code directory.
│ main.php ==> The hello-world (example) entrypoint.
├───factory
│ personFactory.php
├───model
│ Person.php
└───utils
func.php