Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saksmt/phackage-builder
Package builder for PHP
https://github.com/saksmt/phackage-builder
Last synced: about 2 months ago
JSON representation
Package builder for PHP
- Host: GitHub
- URL: https://github.com/saksmt/phackage-builder
- Owner: saksmt
- Created: 2015-08-03T15:09:35.000Z (over 9 years ago)
- Default Branch: develop
- Last Pushed: 2015-08-20T12:36:56.000Z (over 9 years ago)
- Last Synced: 2024-04-28T08:15:06.665Z (8 months ago)
- Language: PHP
- Homepage:
- Size: 145 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Phackage-builder
================Collects php files and builds them into phar-package.
Install
=======`composer require smt/phackage-builder`
Usage
=====As library
----------use Smt\Packer\Phar;
$phar = new Phar('PATH/TO/DIRECTORY/TO/PACK', 'TARGET_PACKAGE_NAME', 'INDEX_FILE');
$phar
->addBootstrapData('const YOUR_PREDEFINED_CONSTANT = 5;')
->addFilter('!/vendor')
->addCustomFilter(function (\SplFileInfo $file) { return rand(0, 1)); }) // Heh
->prepare()
->pack()
;// Also you can use some other cool features
// $phar = ...
use Smt\Generator\ClassBuilder;
$phar
->addBootstrapData(
(new ClassBuilder('CoolClass'))
->setNamespace('Vendor\Code') // You'll be able to use it in phar!
->addProperty('prop')
->makePublic()
->makeStatic()
->setValue('\'SOME_SECRET_TOKEN_FOR_EXAMPLE\'')
->end()
->addMethod('get awesomeness') // yeah you can write exactly right this! this would be converted to "getAwesomeness"
->setReturnValue('\Grab it!\'')
->end()
->getCode()
)
->prepare()
->pack()
;// And the last cool feature
// $phar = ...
use Smt\Generator\DefineGenerator;
$phar
->addBootstrapData(new DefineGenerator([
'SOME_CONST' => 'value',
'SomeClass.SOME_CONST' => 'value',
'SomeClass::someVar' => '\'value\'', // Warning here you MUST to write quotes if you use strings
'Some\Name\Space\SomeClass.CONSTANT' => 'value',
]))
->prepare()
->pack()
;As package
----------`php bootstrap.php pack PATH/TO/DIR -dSomeClass.SOME_CONST='value'`, for more see "last cool feature" from "As library" section.