parchex/basics

PHP basics structures for development with DDD and Clean (Hexagonal) Architecture concepts

v0.1.12 2021-10-14 02:51 UTC

This package is auto-updated.

Last update: 2024-03-14 05:42:32 UTC


README

Componentes básicos para el desarrollo de aplicaciones diseñadas con "DDD" y "Hexagonal Architecture"

Requisitos

Instalar Docker para poder ejecutar la versión concreta para el proyecto de PHP...

https://docs.docker.com/engine/installation/

Instalación

Instalacíón e inicialización del proyecto

make install

Con esto tendríamos desplegado el proyecto con las dependencias y herramientas necesarias para su ejecución...

  • Utilidades necesarias para desarrollo y pruebas en el directorio bin...
    • composer
    • testing tools (kahlan)
  • Instalación de dependencias (con composer)

[!] Para generar la configuración para un entorno de desarrollo mejor con make install-dev

[!] Sí quisiéramos borrar la instalación generada podemos recurrir ejecutando make uninstall

Instalación con Docker

make install-docker-dev

Instala el proyecto generando la imagen necesaria de PHP con Docker donde se ejecutaran todos los procesos PHP, en concreto todos los tests desarrollados que prueban el proyecto.

Ejecución

Están disponibles diferentes targets en make que simplifican las tareas comunes y uso de las principales herramientas de desarrollo y pruebas...

make help

A través del fichero de aliases.sh podemos disponer de varios comandos de para ejecutar PHP usando la virtualización con Docker para usar la versión concreta del proyecto...

source aliases.sh
  • php-cli: Podemos ejecutar cualquier script PHP con la versión PHP del proyecto.
    php-cli bin/kahlan
    php-cli bin/composer
    
  • composer: lanza composer usando la version de PHP del contenedor de la aplicaión
    composer update
    composer show
    

Testing

Para poder ejecutar el set de pruebas generadas tenemos...

make spec
make spec-verbose
make spec-coverage

O a través del alias en el fichero alieases.sh...

kahlan

Construido con 🛠️

Versionado 📌

Usamos SemVer para el versionado. Para todas las versiones disponibles, mira los tags en el repositorio.

Licencia 📄

Este proyecto está bajo la Licencia (WTFPL) - mira el archivo LICENSE.md para detalles

⌨️ con ❤️ por Oxkhar 😊