labo86 / temple_core
Una biblioteca para procesar plantillas de proyectos
Requires
- php: ^7.4
- ext-json: *
- labo86/exception_with_data: ^1.0
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^8.5
README
Una biblioteca para procesar plantillas de proyectos.
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.