<?php
use Jumilla\Generators\FileGenerator;
$generator = FileGenerator::make('outdir-path', 'stubdir-path');
# copy
$generator->sourceFile('Controller.php');
# generate in directory
$name = 'notification';
$generator->directory('Services', function ($generator) use ($name) {
$generator->file(ucfirst($name).'Service.php')->template('Service.php');
});
$generator->file('Class1.php')->blank();
$generator->file('Class1.php')->text('## read');
$generator->sourceFile('Class1.php');
$generator->file('Class2.php')->text('<?php class {$class_name} {}', [
'class_name' => 'Class2',
]);
$generator->templateFile('Class2.php');
$generator->json('Class2.php')->json([
'foo' => 'FOO',
'bar' => 'BaR',
]);
$generator->gitKeepFile();
$generator->phpBlankFile('functions.php');
$generator->phpConfigFile('config.php', [
'theme' => 'snow',
'database' => [
'default' => 'mysql',
],
]);
$generator->phpSourceFile('Controller.php', 'class Controller {}', 'App\Http\Controllers');
$sub = $generator->directory('app/Views');
$sub->sourceFile('layout.twig');
// ...
$generator->directory('app/Views', function ($generator) {
$generator->sourceFile('layout.twig');
// ...
});
$generator->sourceDirectory(app/Models');
$generator->templateDirectory('app/Controllers', [
''
]);
$generator->keepDirectory('app/Services');
古川 文生 / Fumio Furukawa (fumio@jumilla.me)
MIT