PHP

Diseñando BDs con el creador de entidades de Symfony para Doctrine

2019-09-15 - Categorías: PHP / Symfony
Trabajando las entidades de Doctrine con el maker de Symfony..

Un lector me ha escrito sobre un tema muy interesante de Symfony. Así que aquí estoy de nuevo añadiendo material académico. Este post va sobre un post anterior, sobre Symfony, los modelos y entidades, de la serie de tutoriales de iniciación a Symfony Flex. Voy a tratar de explicarme mejor sobre el día a día con los comandos de consola mientras que vamos creando o editando una base de datos.

Symfony te convierte en un programador web muy productivo, gracias en gran medida a los comandos de consola. Así que es muy recomendable conocerlos bien, practicar mucho, y saber usarlos. Es muy recomendable para sacarle provecho a este post el tener los conocimientos teóricos sobre diseño de bases de datos. Así pasarás del esquema de la base de datos, a crearla, en muy poco tiempo gracias al maker de entidades de Symfony. Pero es necesario que tengas claro cómo establecer las relaciones entre entidades, y de qué forma deben ser: de una a una, de una a muchas o de muchas a muchas.

Continuar leyendo..

Symfony: tutorial 17: las variables de sesión

2019-08-24 - Categorías: PHP / Symfony
Symfony showing flash messages

Aquí traigo otro minitutorial sobre Symfony. Siguiendo con los tutoriales de iniciación a Symfony, llegamos a las variables de sesión. Es decir, en este post trato de explicar cómo en Symfony podemos gestionar las visitas individualmente, identificando a los usuarios que visitan una web, personalizando los contenidos o mensajes aún más que les mostraremos.

Es decir, al poder seguir las sesiones de los usuarios, podemos estar seguros de quién es el que está viendo cierta sección. Así podremos mostrarle los contenidos que le corresponden, personalizando y adecuando los contenidos mejor. En estas sesiones podremos almacenar variables o mensajes. Es decir, estas sesiones son unos espacios individuales para cada usuario en donde podremos almacenar dichas variables. Además de que Symfony te añade una utilidad muy práctica que son las bolsas de mensajes flash.

Continuar leyendo..

Symfony: tutorial 16: la seguridad

2019-08-03 - Categorías: PHP / Symfony

La seguridad no es una de las asignaturas difíciles en Symfony. Puede ser difícil en otras aplicaciones web hechas a medida, pero en Symfony, siguiendo unas pocas directrices, conseguiremos aplicaciones web muy seguras. Symfony nos provee de mecanismos fáciles de configurar, de métodos de programación para usar allí donde necesitemos estas capas de seguridad. Además de que hay componentes, hechos por expertos en seguridad, para nuestros proyectos.

Este es un post muy teórico, en donde dejo las pinceladas principales para luego ahondar más en cada tema. Y también he tratado de dejar un caso de uso a modo de codekata, como viene siendo costumbre en la serie de tutoriales de iniciación a Symfony. Usando en Symfony los componentes recomendados, y unas pocas directrices, conseguiremos aplicaciones web muy seguras sin ser necesariamente expertos en seguridad web.

Continuar leyendo..

Magento 2: cómo crear un módulo propio

2019-06-14 - Categorías: Magento / PHP
Magento funcionamiento interno

Ahora es mucho más sencillo arrancar un nuevo módulo para Magento 2. Aquí que dejo unos sencillos pasos para crear un módulo propio. Luego es cuestión de ir añadiendo las configuraciones que quieras, menús en backend, zonas en frontend, plantillas, controladores, tareas programadas, y un largo etcétera..

La idea es la misma que en muchos otros CMS, al modo de Vendor/Modulo que vamos a seguir estructurando los códigos.

Continuar leyendo..

Raspberry Pi: utilizando los GPIOs desde PHP y Symfony

2019-06-12 - Categorías: GNU/Linux / PHP / Symfony

Hoy traigo un howto para instalar PHP 7.2 en la Raspberry Pi.. luego un proyecto Symfony 4, con Symfony Flex.. y finalmente un code-kata para lanzar algunos comandos para encender unos LEDs conectados a unos pines del chip GPIO de la Raspberry Pi. Simplemente es un post de arranque para controlar desde PHP, con acceso casi directo a hardware, el chip de los GPIOs. Así de paso con Symfony, que aunque no es necesario, ayuda mucho en cualquier proyecto por los todos los extras que aporta.

Por si no lo conoces, Raspberry Pi es un pequeño ordenador de propósito general de apenas 30 €, que la última versión a fecha de hoy trae HDMI, USBs, Wifi, Gigabit Ethernet, GPIOs, etcétera. Siempre ha hecho furor entre los programadores, y en la comunidad maker de dispositivos electrónicos. Una de las tareas para las que puede servir, es como servidor de páginas web, y en paralelo, puede controlar cualquier dispositivo que se ocurra conectar a los GPIOs. La última versión que es la Raspberry Pi 3B+ tiene 1 GB de RAM, con un procesador de 4 núcleos, más que suficiente para darle la potencia lógica a casi cualquier dispositivo que quieras probar de construir.

Continuar leyendo..

Magento 1: auto-activar la caché

2019-06-09 - Categorías: Magento / PHP
Magento funcionamiento interno

Aquí estoy de nuevo compartiendo un truco sobre Magento 1. Magento 1 es un proyecto Open Source, con lo que navegando por el código fuente, o preguntando por foros por Internet que podemos llegar a encontrar cómo hacer esto.

Pero aquí que lo dejo porque me ha costado un poco encontrar cómo hacerlo, y ha sido útil como técnica de mejora de proyectos en Magento 1. Digo que me ha sido útil ya que a veces, me he encontrado los proyectos sin activar la caché. Esto hacía que los proyectos corrieran mucho más lento, ya que Magento en general, sin la caché activada, es realmente lento.

Continuar leyendo..

PHP y SEO: detectando contenidos duplicados

2019-05-23 - Categorías: General / PHP / SEO
SEO PHP duplicados

Hoy traigo un howto o code-kata, para comenzar a hacer nuestra propia herramienta de detección de duplicados. Puede ser una tarea más o menos compleja, depende mucho de hasta dónde queramos llegar, pero sólo mediante scripting en PHP podemos implementarlo.

Es decir, podemos recorrer toda una web de la que estamos encargados, guardar los contenidos de sus URLs, y chequearlos para ver si tiene contenidos duplicados. Me remito a un post de hace un par de años para recorrer una web en anchura, o en profundidad, mediante un sencillo script en PHP: https://jnjsite.com/yo-robot-ii-white-gray-black-hat-seo/

Continuar leyendo..

Symfony: tutorial 15: los tests automáticos, funcionales, de aceptación, unitarios, de infraestructura..

2019-05-14 - Categorías: General / GNU/Linux / PHP / Symfony
Automatizando las pruebas unitarias y funcionales en Symfony..

Aquí estoy de nuevo con otro howto o tutorial de la serie de tutoriales de iniciación a Symfony sobre éste framework tan cojonudo. Hoy llegamos a cómo automatizar las pruebas de tu aplicación web. Automatizar las pruebas y pasar los tests puede verse como un juego en el que tenemos que conseguir un buen porcentaje o puntos, para estar seguros de que todo funciona. Es bien divertido trabajar con esto.. ?

Imagina que vas a entregar una web, o una nueva funcionalidad. La pruebas y pruebas, pensando que todo va bien. Pero cada día tiene más cosas, más zonas que comprobar, añadimos algo en un fichero que pensamos que no tiene relación con otra cosa. Pero llega el día de la puesta en producción, y empieza a romperse por los rincones que menos habías pensado ?

Continuar leyendo..

Magento 2: haciendo scripts externos en PHP

2019-04-06 - Categorías: Magento / PHP
Haciendo scripting de Magento 2 para línea de comandos..

Estar participando en grandes proyectos con Magento 2 es todo un privilegio, un honor. Con esto, que últimamente estoy investigando sobre cómo programar en Magento 2. Así que antes de entrar al tajo con el desarrollo de los módulos, programación de la plantilla (frontend), o programación para el panel de control (backend).. podemos empezar a juguetear con scripts externos a Magento que bootstrapean toda la aplicación para tenerlo todo disponible.

Me explico, el hacer scripts externos a Magento es la mejor manera de comenzar a probar los fragmentos de código que vamos a necesitar después en módulos, frontend y/o backend. Es decir, si vamos a necesitar una sección, que te liste ciertos tipos de productos/pedidos/categorías/usuarios.. lo mejor es probar estos listados en otra parte. Mejor probamos en estos scripts externos, para luego incluirlos con toda su cáscara de frontend o backend, según proceda.

Continuar leyendo..

Magento 2: automatizando el despliegue continuo

2019-03-31 - Categorías: GNU/Linux / Magento / PHP / Symfony
Magento 2 y el despliegue contínuo..

¡Hola de nuevo! Últimamente estoy jugueteando mucho con Magento 2, poniéndome al día con todas las nuevas mejoras que trae. Cierto es que la gente por los foros habla de muchos problemas con las versiones 2.0, 2.1, 2.2.. Pero pienso que es normal, ya que se ha hecho un remake total de todo el código fuente de Magento.

Magento es un CMS para eCommerce enorme, tiene una gran cantidad de funcionalidades ya incorporadas de casa. Por otro lado, necesitas de un servidor potente para hacerlo correr. Pero tienes un punto de partida muy muy bueno, comparado por ejemplo con Prestashop, Sylius o WordPress con Woocommerce. Quizá incluso te puedes evitar un desarrollo a medida o la instalación de muchos módulos con sus correspondientes personalizaciones si es que Magento 2 ya dispone de las funcionalidades que necesitas.

Continuar leyendo..

Symfony: tutorial 14: navegando con DomCrawler, BrowserKit y CssSelector

2019-03-23 - Categorías: PHP / Symfony
Navegando por páginas web con Symfony..

Hoy les traigo otro tutorial sobre Symfony. Siguiendo con la serie de tutoriales de iniciación a Symfony, hoy llegamos a cómo hacer un programa que navegue por las páginas web en Symfony. Es decir, los fundamentos de cómo utilizar el DomCrawler, el BrowserKit y el CssSelector de Symfony.

Esto puede servir para dos cosas. La primera utilidad es para comprobar que el proyecto en el que estamos trabajando funciona como debe ser. Podemos automatizar pruebas funcionales navegando por el proyecto, comprobando que los resultados son los esperados, mientras que desarrollamos y antes de que llegue a producción ningún fallo. La segunda utilidad es para navegar por páginas web remotas que estén en servidores remotos, no en local. Quizá necesitamos hacer comprobaciones en producción, o puede que necesitemos obtener contenidos, información relevante, o ficheros remotos alojados en páginas web mediante el protocolo HTTP que necesitemos recoger por alguna razón. Es decir, la segunda utilidad es para conectar tu proyecto con sistemas informaticos remotos mediante el protocolo HTTP.

Continuar leyendo..

Symfony: tutorial 13: enganchándonos a los eventos

2019-03-09 - Categorías: PHP / Symfony
Heart beat

Siguiendo con la puesta al día que llevo con Symfony y Flex, llegamos a los eventos. Engancharnos a los eventos es una forma de editar el comportamiento natural de los proyectos Symfony. En el proceso de una petición HTTP al servidor, en Symfony ocurren muchas cosas. Durante ese proceso, se van ejecutando una serie de tareas en orden. A la vez que se procesan esas tareas, se van disparando una serie de señales. Estan señales definen los eventos. Y a su vez podemos engancharnos a estas señales para personalizar el funcionamiento de la aplicación web.

Es decir, cuando un navegador hace una petición a un proyecto web Symfony, éste la recibe con el fichero public/index.php y comienza la ejecución de todo el framework junto con todo lo que hayamos construido, además de todos los componentes extra que le hayamos instalado. Ésta ejecución se hace en perfecta armonía, es una buena forma de comunicar componentes de Symfony entre sí, con los nuevos componentes que hayamos instalado, o para personalizar el comportamiento de nuestra aplicación.

Continuar leyendo..

© 2024 JnjSite.com - MIT license

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