labo86/temple_core

Una biblioteca para procesar plantillas de proyectos

1.0.1 2020-07-27 23:22 UTC

This package is auto-updated.

Last update: 2024-03-28 07:22:09 UTC


README

Una biblioteca para procesar plantillas de proyectos.

Latest Stable Version Total Downloads License Build Status codecov.io Code Coverage Code Climate Hecho en Chile

Uso

Suponiendo que tenemos un directorio input_dir con archivos de cualquier tipo.

use \labo86\temple_core\TemplateFiller;

$company = 'labo86';
$project = 'project';
$filler = new TemplateFiller([
    'tpl_company_tpl' => $company,
    'tpl_project_tpl' => $project
]);

//informamos que los archivos o carpetas con nombre .git o ignored_file serán ignorados
$filler->ignore('.git', 'ignored_file');

//construimos el proyecto en base a la plantilla
$filler->fillTemplate('input_dir', 'output_dir');

El código anterior generará una nueva carpeta en output_dir en donde reemplazará tanto nombres como contenidos según reglas de reemplazo de plantillas.

Las reglas de reemplazo son las siguientes:

  • Las ocurrencias de tpl_company_tpl serán reemplazadas por el nombre de la compañía especificada.
  • Las ocurrencias de tpl_project_tpl serán reemplazadas por el nombre de proyecto especificada.

Instalación como biblioteca

composer require labo86/temple_core

Instalación como ejecutable

Se puede construir un ejecutable con make_phar.php usando el siguiente comando:

php -d phar.readonly=Off scripts/make_phar.php

Hay una run configuration de PhpStorm que lanza el comando anterior.

El comando anterior construirá temple_core.phar que se podrá lanzar de la siguiente manera:

php temple_core.phar -d tpl_company_tpl company -d tpl_project_tpl project input_dir output_dir

Los argumentos corresponden a cada una de las variables recibidas en el el script de llenado Cada variable de remplazo debe ir antecedida por un parámetro -d donde se debe especificar el nombre de la variable y su valor

Información de mi máquina de desarrollo

Salida de system_info.sh

+ hostnamectl
+ grep -e 'Operating System:' -e Kernel:
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-33-generic
+ php --version
PHP 7.4.3 (cli) (built: May 26 2020 12:24:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
    with Xdebug v2.9.2, Copyright (c) 2002-2020, by Derick Rethans

Notas

  • El código se apega a las recomendaciones de estilo de PSR-1.
  • Este proyecto esta pensado para ser trabajado usando PhpStorm.
  • Se usa PHPUnit para las pruebas unitarias de código.
  • Para la documentación se utiliza el estilo de phpDocumentor.