PHP

Cómo implementar una Arquitectura Hexagonal con Symfony Flex

2022-04-12 - Categorías: General / PHP / Symfony
Symfony Hexagonal

Este es un codekata en PHP con Symfony Flex para montar una estructura usando Arquitectura Hexagonal, en unos minutos, para un proyecto nuevo.

Symfony tiene su propia estructura por defecto, nos invita a seguir una serie de directorios en donde se guardan los controladores, repositorios, entidades, etc.. Esto esta muy bien, puede parecer que nos cierra a dicha estructura, pero nada más lejos de la realidad. Igual que en cualquier otro proyecto en puro PHP, con Symfony se puede estructurar todo como queramos.

Continuar leyendo..

PHP: implementando el patrón de diseño Command/Commando

2022-02-27 - Categorías: General / PHP

Continuando con el repaso a los patrones del diseño del software, llegamos al Command o Comando. También es llamado el patrón Action o Transaction. Permite encapsular acciones en objetos programados, de forma que facilita el mantenimiento y ampliación de la aplicación que tengamos entre manos.

Esto facilita el uso de colas, la ejecución en background, mantenimiento de estados, tener históricos, poder revertir cambios, etc.. desacoplando interfaces, puertos, clientes, controladores, etc.. del resto de la aplicación, haciendo independiente la forma de ejecución de todas estas acciones de la forma en que se lancen.

Es decir, si independizamos las acciones en comandos, nos dará igual si luego se llaman desde interfaces gráficas, una o varias, desde línea de comandos, peticiones en una API RESTful, etcétera.

Continuar leyendo..

PHP: el patrón de software Cadena de Responsabilidad

2022-02-22 - Categorías: General / PHP

Este post es sobre el patrón de diseño del software llamado Chain of Responsability o Cadena de Responsabilidad. Se usa cuando se quieren tener varios objetos relacionados de forma que cada uno pueda hacer una cosa con una misma petición, o puede que sólo algunos tengan que hacer algo con dicha petición.

Se puede implementar enlazando los objetos entre sí para establecer una cadena, o utilizando el patrón Composite.

Continuar leyendo..

PHP: cómo implementar el patrón de diseño Module o Modulo

2022-02-18 - Categorías: General / PHP / Principios y patrones

Recopilando más apuntes sobre patrones del diseño del software, llegamos a este patrón de diseño Module/Módulo que se puede implementar de muchas formas. Este codekata en PHP hace una implementación, pero se puede hacer de varias formas, y simplemente consiste en aplicar la técnica de divide y vencerás.

Es decir, los programas los podemos dividir por módulos. A su vez, estos módulos se pueden volver a dividir de nuevo en sub-módulos. Además de que independientemente a si se usa en programación procedural o con objetos, podemos establecer módulos.

Continuar leyendo..


Cifrado y descifrado seguro de datos en PHP

2022-02-13 - Categorías: General / PHP
Keys, llaves, claves, passwords

Sencillo codekata de copia y pega en PHP para cifrar, transmitir esta información cifrada por un canal público, y descifrar en destino.

La idea es usar un cifrado con semilla, de forma que esta semilla hace que sea imposible, o muy difícil, descifrar estos datos si no se sabe dicha semilla. Generalmente, por un canal seguro y privado se comparte una clave, con esta clave se cifra en origen, y en destino igualmente se descifra.

Continuar leyendo..

PHP: cómo implementar el patrón de diseño software Prototype o Prototipo

2022-02-04 - Categorías: General / PHP / Principios y patrones

Siguiendo con el repaso a los patrones de diseño software, llegamos al llamado Prototype, o Prototipo en castellano. Este patrón consiste en crear un método en los objetos para que se puedan clonar fácilmente.

Es decir, una vez tenemos un objeto, podemos crear otro copia de este primero, pero puede ser muy costoso hacerlo desde afuera del objeto que queremos clonar. Lo mejor es hacerlo internamente dentro del propio objecto. Al grano..

Continuar leyendo..

PHP: el patrón de diseño Builder o Constructor, cómo y cuando usarlo

2022-02-04 - Categorías: General / PHP / Principios y patrones

Este patrón de diseño del software es de los del tipo creacionales. Los Builder o Constructores se usa para preparar la construcción de objetos complejos, o para preparar la construcción de baterías de clases complejas.

Estas clases complejas pueden ser de todo tipo. Simplemente se trata de una forma de dividir un problema grande o complejo en trozos más pequeños. Vamos al grano..

Continuar leyendo..

PHP: el patrón de diseño software Factory o Factory Method o Abstract Factory

2022-02-04 - Categorías: General / PHP / Principios y patrones

Este patrón de diseño del software es muy interesante, porque da mucho juego, además de que si lo combinamos con otros puede mejorar mucho nuestros programas. Es decir, simplemente se trata de una clase, que como su nombre indica, Factory, Factory Method o Abstract Factory, se encargan de fabricar objetos para usarlos.

Estos objetos pueden ser cacheados para no volver a crearlos con su coste de crearlos, también puede encargarse de crear otros objetos con todo tipo de patrones de diseño.

Continuar leyendo..

PHP: cómo construir usando el patrón de diseño Object Pool

2022-02-03 - Categorías: General / PHP / Principios y patrones

Continuando con los resúmenes sobre patrones de diseño del software llegamos al patrón Object Pool, que traducido significa Grupo de Objetos.

Este patrón está orientado a mejorar el rendimiento de la creación de objetos con alto coste temporal o espacial. Es decir, es para mejorar el uso de los recursos. Se genera una serie de objetos al inicio del programa, o la primera vez, para ir cogiendo los objetos del pool, y después devolverlos para que otros procesos o módulos del programa los reutilicen sin tener que volver a crearlos.

Continuar leyendo..

PHP: cómo y cuando usar el patrón de Peso Mosca o Flyweight

2022-02-02 - Categorías: General / PHP / Principios y patrones

Este patrón del diseño del software es un patrón para optimizar los recursos, para reducir el coste espacial, y probablemente también el coste temporal de nuestros programas. El patrón Flyweight o Peso Mosca se basa en la optimización de recursos disminuyendo la cantidad de información que tiene cada objeto.

Es decir, cuando tenemos muchos objetos similares con información muy parecida, conviene desacoplar la información común y agruparla en nuevos objetos, reduciendo los originales.

Continuar leyendo..

PHP: el patrón de diseño del software Fachada/Facade

2022-02-02 - Categorías: General / PHP / Principios y patrones

Siguiendo con el repaso en PHP de los patrones de diseño del software, llegamos al patrón Fachada o Facade en inglés. Es bien sencillo, consiste simplemente en poner una clase u objeto en medio, para que se encargue de simplificar el manejo en conjunto del programa.

Es decir, suele haber tareas complejas, con varios pasos, o en las que intervienen varios elementos. Entonces, para simplificar todo, se llama a la clase de fachada para simplificar la programación y mantenimiento.

Continuar leyendo..

© 2022 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.