
Dlight (» Delight «) es un Microframework PHP sobre Slim con un enfoque en una arquitecura de software limpia y orientada a objetos y patrones de diseño relacionados.
La arquitectura Dlights se adhiere a los principios del diseño impulsado por el dominio. El objetivo principal del marco es estudiar patrones de diseño de software y tecnologías web en el programa maestro 'Métodos digitales en humanidades y ciencias culturales'.
Al mismo tiempo, Dlight y su Slim Framework Base permiten escribir API limpias y eficientes y aplicaciones web basadas en HTTP.
Dlight se encuentra en un estadio beta temprano en este momento, totalmente utilizable y ya se usa en producción, pero no se completa. En particular, en esta etapa, las clases de dominio, fábrica y mapeador Dlights que hacen que el acoplamiento y la transformación del contenido XML (por ejemplo, de una base de datos XML existente) sea muy fácil.
Dlight todavía espera que escriba su propio código PHP ;-) Simplemente le proporciona una base arquitectónica limpia para la tarea.
Dlight se puede instalar con el compositor. Cree un directorio de proyecto y ejecute el siguiente comando:
composer require digicademy/dlight
Esto instala Dlight en el directorio de proveedores de su directorio de proyecto. A continuación, cree un CD de subdirectorio ( público por ejemplo) en el directorio, cree un archivo index.php y agregue lo siguiente:
<?php
use Digicademy DLight Controller PageController ;
require __DIR__ . ' /../vendor/autoload.php ' ;
// SETTINGS
$ config = [];
require __DIR__ . ' /../vendor/digicademy/dlight/config/settings.php ' ;
$ app = new Slim App ([ ' settings ' => $ config ]);
// DI CONTAINER
$ container = $ app -> getContainer ();
require __DIR__ . ' /../vendor/digicademy/dlight/config/container.php ' ;
// ROUTES
$ app -> get ( ' / ' , PageController::class . ' :indexAction ' )-> setName ( ' index.html ' );
$ app -> get ( ' /index.html ' , PageController::class . ' :indexAction ' )-> setName ( ' index.html ' );
$ app -> get ( ' /test.html ' , PageController::class . ' :testAction ' )-> setName ( ' test.html ' );
// RUN
$ app -> run ();Finalmente, apunte a su servidor web a su directorio público y agregue reglas de reescritura específica del servidor web para que todas las solicitudes HTTP se enruten a través del archivo index.php. Ejemplo para el servidor web de Apache:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteRule ^ index.php [QSA,L]Reescribir las reglas para otros servidores web se pueden buscar en la documentación delgada
Apunte su navegador al directorio público y debe ser recibido con la página de bienvenida de Dlight.
El siguiente diagrama ofrece una visión general sobre la arquitectura DDD DDD.

Una documentación más detallada está actualmente en proceso.
Este software se publica bajo los términos de la licencia MIT.
Copyright 2018-2019, Torsten Schrade
Copyright 2018-2019, Academia de Ciencias y Literatura | Maguncia
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacer, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.