shamaseen/laravel-files-generator

Generate any kind of File/s from stubs with only a single command, literally, ANY TYPE.

0.5.2 2022-06-26 01:05 UTC

This package is auto-updated.

Last update: 2024-05-26 05:30:47 UTC


README

Generate any kind of file/s from stubs with only a single command, literally, ANY KIND.



Build Licence

Quickstart


Generate a single file:

From command line:

php artisan generate:stub pathToStub.stub pathToOutput.extension --replace='key 1' --with='value 1' --replace="key 2" --with='value 2'

On runtime:

FilesGenerator::stub('PathToYourStubFile.extension')
        ->replace('string to be replaced','The replacement value')
        ->output('outputPath.extension');

Generate multiple files:

From command line:

php artisan generate:config 'pathToYourConfig/configFileName.php'

On runtime:

FilesGenerator::fromConfigFile('configPath.php');

Remove generated files from a config file:

From command line:

php artisan ungenerate:config 'pathToYourConfig/configFileName.php'

On runtime:

FilesUngenerator::fromConfigFile('configPath.php');

Installation

Run:

composer require shamaseen/laravel-files-generator

Publish the package config file

php artisan vendor:publish --provider='Shamaseen\Generator\GeneratorServiceProvider'

Configuration files

To generate multiple files from config you will need to create a config file first, a config file is a php file that MUST return an array, either one-dimensional array or multi-dimensional array, depends on how many files you want to generate.

for example, to generate 2 files from 2 stubs with a single command, first create your conf:

<?php
return 
[
    [
        'stub' => 'first.stub',
        'output' => 'first.generated',
        'replace' => [
            '{% to be replaced 1 %}' => 'value',
            '{% to be replaced 2 %}' => 'value'
        ]
    ],
    [
        'stub' => 'second.stub',
        'output' => 'second.generated',
        'replace' => [
            '{% to be replaced 1 %}' => 'value',
        ]
    ]
];

now run this command to generate the two files:

php artisan generate:config 'pathToYourConfig/configFileName.php'

License

laravel files generator is a free software distributed under the terms of the MIT license.