shamaseen / laravel-files-generator
Generate any kind of File/s from stubs with only a single command, literally, ANY TYPE.
Installs: 9 160
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
- laravel/framework: >6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
README
Generate any kind of file/s from stubs with only a single command, literally, ANY KIND.
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.