kigkonsult / pcgen
PHP Code Generation support package
Fund package maintenance!
Other
Requires
- php: >=7.0
- ext-ctype: *
- ext-openssl: *
Requires (Dev)
- phpcompatibility/php-compatibility: 9.3.5
- phpstan/phpstan: >=0.9.3
- phpunit/phpunit: 6.5.14
- squizlabs/php_codesniffer: 3.5.5
This package is auto-updated.
Last update: 2024-12-16 03:12:59 UTC
README
the PHP Code Generation support package
-
create PHP class / interface / trait code opt shipped with file docBlock with namespace, use, extends, implements with constuctor and factory methods with constants and properties with opt. getter(+iterator) and setter methods allow insert of (pre-produced, logic) code
-
create docBlocks in compliance with phpdoc
-
create PHP function/method frame (shell) code with arguments and closure use variables with property(/variable) set code with method return code allow insert of (pre-produced, logic) code
-
create code for single or chained function/method invoke(s)
-
create define variable property/variable/constant code with PHP primitive value, array, closure or callback
-
create code for variable/property value assign from variable/property value (scalar) fixedSourceValue ternary or null coalesce operator expression other PHP expression constant function/method invoke(s)
-
create logic code using
- control structures
- ternary or null coalesce operator expressions
- try/catch-blocks
-
create code for function/method return of variable/property value (scalar) fixedSourceValue ternary or null coalesce operator expression other PHP expression constant
- function/method invoke(s)
More info in the PcGen Summary.
Misc
The target PHP version code is, default, the current PHP version but configurable.
Using a PHP reserved name as name (ex FQCN/className) will thow an InvalidArgumentException.
You may need to readjust result output code style and indents.
Tests
Tests are executed in DISPLAY
mode, to alter, update PHP const in top of phpunit.xml
.
Assert PHP 7+ using PHPCompatibility and PHPStan.
Support
For support use github.com PcGen. Non-emergence support issues are, unless sponsored, fixed in due time.
Sponsorship
Donation using paypal.me/kigkonsult are appreciated. For invoice, please e-mail.
INSTALL
composer require kigkonsult/pcgen:dev-master
Composer, in your composer.json
:
{ "require": { "kigkonsult/pcgen": "dev-master" } }
Otherwise , download and acquire..
namespace Kigkonsult\PcGen; ... include 'pathToSource/Kigkonsult/PcGen/autoload.php';
License
This project is licensed under the GPLv3 License