PHP Classes

PcGen: Generate PHP code from parameters

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 93 All time: 9,906 This week: 206Up
Version License PHP version Categories
pcgen 1.1.46GNU General Publi...5PHP 5, Code Generation
Description 

Author

This package can generate PHP code from parameters.

It provides a set classes that can generate code to create PHP scripts using many constructs supported by PHP. Currently it can:

- Create PHP classes, interfaces and traits code
- Create docBlocks based on PHPDoc
- Create PHP function and class methods
- Create definitions of local variables, class variables and constants
- Create assignments of local variables and class variables

Picture of Kjell-Inge Gustafsson
  Performance   Level  
Innovation award
Innovation award
Nominee: 6x

 

Documentation

[comment]: # (This file is part of PcGen, PHP Code Generation support package. Copyright 2020 Kjell-Inge Gustafsson, kigkonsult, All rights reserved, licence GPL 3.0)

PcGen

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`. Asserted PHP 7+ compability using [PHPCompatibility].

Support

For support use [github.com PcGen]. Non-emergence support issues are, unless sponsored, fixed in due time.

Sponsorship

Donation using <a href="https://paypal.me/kigkonsult?locale.x=en_US" rel="nofollow">paypal.me/kigkonsult</a> are appreciated. For invoice, <a href="mailto:ical@kigkonsult.se">please e-mail</a>.

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

[Composer]:https://getcomposer.org/ [github.com PcGen]:https://github.com/iCalcreator/PcGen [phpdoc]:https://phpdoc.org [Summary]:docs/Summary.md [PHPCompatibility]:https://github.com/PHPCompatibility/PHPCompatibility


  Files folder image Files (80)  
File Role Description
Files folder imagedocs (19 files)
Files folder imagesrc (24 files, 2 directories)
Files folder imagetest (21 files, 1 directory)
Accessible without login Plain text file autoload.php Aux. Auxiliary script
Accessible without login Plain text file changeLog.txt Doc. Documentation
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENCE Lic. License text
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:93
This week:0
All time:9,906
This week:206Up