laravins/template-file-generator

File generator from template with data customization.

dev-main 2023-01-22 15:19 UTC

This package is auto-updated.

Last update: 2025-04-22 20:06:15 UTC


README

Introduction

This package allows you to generate files based on template with data customization.


Installation

composer require laravins/template-file-generator

This will install the package inside your project and setup example files.

  • Config file located at config/template-file-generator/example-generator.php
  • Template files located at resources/template-file-generator/example-generator/crud-views


Config file

This config file will:

  • Use template folder located at projet_path/resources/template_file-generator/example-generator/crud-views

  • Generate two files list.blade.php and edit.blade.php in project_path/resources/views/users.

  • Replace each occurences of %thanks% by Thanks for using this package 👌 of generated list.blade.php file.

  • Replace each occurences of %stars% by Road to 50 ⭐ of generated list.blade.php file.

  • Replace each occurences of %heart% by ❤️ of generated edit.blade.php file.

  • Replace each occurences of %dev_attitude% by lazy of generated edit.blade.php file.

<?php

return [
    'files' => [
        // Put here the list of files
        'list.blade.php' => [
            // Put here variables to replace
            'thanks' => 'Thanks for using this package 👌',
            'stars' => 'Road to 50 ⭐',
        ],
        'edit.blade.php' => [
            'heart' => '❤️',
            'dev_attitude' => 'lazy',
        ]
    ],
    'config' => [
        // Path of your template folder
        'base_path' => 'template-file-generator/example-generator/crud-views',
        // Prefix of template folder path. Please, refer to prefixes section
        'base_path_prefix' => 'resource',
        // Path of your target generated folder
        'target_path' => 'views/users',
        // Prefix of template folder path. Please, refer to prefixes section
        'target_path_prefix' => 'resource'
    ],
];


Prefixes

Allowed prefixes used for base_path_prefix and target_path_prefix are:

Prefix Target
app app_path()
base base_path()
config config_path()
resource resource_path()
database database_path()
lang lang_path()
public public_path()
storage storage_path()


Template files

You need to set variables that you want to be replaced in % delimiter like %var_to_change_%.

<p>Made with %heart%</p>
<p>For %dev_attitude% developers</p>

This will be converted into

<p>Made with ❤️</p>
<p>For lazy developers</p>


Usage

use Laravins\TemplateFileGenerator\TemplateFileGenerator;

// The path of my config file is actually 'config/template-file-generator/example-generator'
$generator = new TemplateFileGenerator('template-file-generator/example-generator');

// Generate files
$result = $generator->replaceContent();

// Get result
dd($result) // ["status' => "success", "message" => ""]

// If an error occurs, please refer to the "message" error.

Artisan command

php artisan laravins-tfg:generate template-file-generator/example-generator

Thanks ✌️