staempfli/universal-code-generator

This package is abandoned and no longer maintained. No replacement package was suggested.

Staempfli AG - Universal Code Generator Tool

Installs: 3 527

Dependents: 1

Suggesters: 0

Security: 0

Stars: 5

Watchers: 4

Forks: 3

Open Issues: 0

Type:staempfli-tool

1.2.4 2019-11-22 19:12 UTC

This package is auto-updated.

Last update: 2020-09-16 12:11:37 UTC


README

Project Status: Abandoned – Initial development has started, but there has not yet been a stable, usable release; the project has been abandoned and the author(s) do not intend on continuing development.

This tool can be used as base for creating code generators for specific frameworks

Usage

  1. Create your own generator project:

  2. Add this project as dependency

    composer require "staempfli/universal-code-generator":"~1.0"
    composer update
    
  3. Copy needed default configuration file

    • $ cp vendor/staempfli/universal-code-generator/config/default-properties.yml.dist config/default-properties.yml
  4. You need to create a PHP script to define the console application:

    • We recommend to do that into the bin folder

      cd bin && vim <command_name>

    • Add the following content to this file:

    #!/usr/bin/env php
    <?php
    $composerAutoload = __DIR__ . '/../../../autoload.php';
    
    if (file_exists($composerAutoload)) {
        require_once $composerAutoload;
    } else {
        require_once __DIR__ . ' /../vendor/autoload.php';
    }
    
    /**
    * Shortcut constant for the project root directory
    */
    define('BP', dirname(__DIR__));
    /**
    * Command name
    */
    define('COMMAND_NAME', basename(__FILE__));
    
    // Init Console Application
    use Staempfli\UniversalGenerator\Application;
    
    $application = new Application('@git-version@');
    
    /**
    * You can add new commands or extend exiting ones to add custom functionality
    * - Check default commands in Staempfli\UniversalGenerator\Application
    * - To add or extend commands you must use the method $application->addGeneratorCommand
    */
    // $application->addGeneratorCommand('template:generate', 'VendorName\ProjectName\Command\TemplateGenerateCommand');
    
    $application->run();
    
  5. Usually you might want to extend the default template:generate command. You can do that as follows:

  6. Create the templates that will be generated:

Prerequisites

  • PHP >= 5.6.*

Developers

Licence

GNU General Public License, version 3 (GPLv3)

Copyright

(c) 2016 Staempfli AG