PHP

PHP es el lenguaje de programación de mayor aceptación entre las aplicaciones web. La gran mayoría de los CMS orientados al mundo de la web están desarrollados sobre PHP.

Preparado para correr sobre un servidor web, aunque en mucha menor medida también se puede utilizar en entorno de terminal. Tiene una curva de aprendizaje muy baja, es muy permisivo con los errores, es interpretado, no compilado y orientado a objetos, entre otras cosas.

Aunque sea un lenguaje muy aceptado por los principiantes, es muy atacado por muchos experimientados en la programación. No obstante es uno de mis lenguajes preferidos. Y sobre todo, al desarrollar para la web, siendo prácticos, es una de las primeras y mejores soluciones balanceando entre el conjunto de lenguajes disponibles.

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..

Symfony: subiendo todo tipo de ficheros al servidor

2019-02-27 - Categorías: PHP / Symfony
Editando en Atom el controlador de subida de ficheros..

Hoy traigo un pequeño CODEKATA sobre una consulta que me ha hecho un lector. Se trata de unos códigos fuentes en Symfony 4 para subir ficheros al servidor, pero sin usar ningún componente extra en el proyecto.

Se trata de unas pocas modificaciones que le he hecho al código fuente de ejemplo de la documentación oficial. Así el código dejará de chequear la extensión, el mime type del fichero, y además de que no renombra los ficheros con un identificador único. Esto puede tener doble filo porque puedes acabar machacando los ficheros en nuevas subidas, pero siempre se le puede añadir después la lógica necesaria para comprobar si el fichero ya existía.. 😉

Continuar leyendo..

Datatables y Symfony: cargando tablas con cantidades ingentes de datos

2019-02-19 - Categorías: JavaScript / PHP / Symfony
Symfony y Datatables, cargando cantidades ingentes de datos mediante AJAX.

Continuando con un post anterior sobre mostrar tablas de datos interactivas, o este otro relacionado sobre Datatables con botones de descarga.. traigo hoy otro code-kata, hecho en Symfony 4 para probar el Datatables más a fondo. En aquel post empecé a testear el Datatables con pocos datos. Datatables es un plugin de jQuery con el que en poco tiempo, listas, ordenas y filtras tablas de datos de forma muy profesional.

Ahora estoy probando cómo funciona sobre un proyecto con ingentes cantidades de datos, en concreto con una tabla con 622,001 registros. Llegado a éste extremo, no puedes cargar el 100% de los datos en el servidor, enviarlos al navegador, y pintarlos. Si lo haces, el navegador se sobrecargará, no podrá pintar la tabla, o irá muy muy lento.

Continuar leyendo..

Actualizando aplicaciones web de Symfony 3 al 4

2019-02-17 - Categorías: PHP / Symfony

Una tarea que tarde o temprano llega es el actualizar a la última versión de Symfony. Si queremos estar al día de todas las nuevas mejoras, que la aplicación funcione lo mejor posible, con todos los parches, lo más rápido posible.. llegaremos a esta tarea.

Actualizar de la 1 a la 2 no lo he vivido, pero tengo entendido que no servía casi nada de la estructura de códigos montada. De la versión 2 a la 3 sí que lo he vivido; habían muchas funcionalidades obsoletas, había que actualizar paulatinamente hasta la versión 2.7 o la 2.8, si mal no recuerdo, para finalmente saltar a la 3 sin que todo petara. Ahora en el salto de la versión 3 a la 4 todo es bastante fácil, o por lo menos así lo he visto.

Continuar leyendo..

Symfony: tutorial 12: los emails

2019-01-14 - Categorías: PHP / Symfony
Symfony enviando emails

Ya estoy por aquí de nuevo, escribiendo otro tutorial, code-kata o howto.. mientras que nos ponemos al día repasando sobre Symfony, y revisando hoy cómo se envían los correos electrónicos. Symfony nos recomienda que usemos el popular componente SwiftMailer, que podemos incoporar a nuestros proyectos con un simple comando de Composer. Desde una web tenemos varias formas de enviar correos, pero pienso que la forma más profesional es con el protocolo SMTP, así te independizas del servidor donde corre tu web, desacoplas aplicación web del servidor de correo.. pudiendo enviar el correo electrónico mediante casi cualquier servidor estándar de correo electrónico.

Recapitulando, de nuevo en Symfony tenemos otro componente para PHP con el que se convierte en algo trivial el envío de correos electrónicos. No tanto el envío de muchos emails. Pero si combinamos este post, con otros anteriores sobre Doctrine, no debería de serte muy complicado el implementar una cola de emails. Así puedes ir enviando los emails poco a poco si es que estás trabajando en una aplicación web que tiene que enviar muuuuuuuuchos emails. Ahí lo dejo para otro post 😉 vamos con el tutorial para comenzar con los emails..

Continuar leyendo..


Symfony: tutorial 11: los formularios

2018-12-26 - Categorías: PHP / Symfony
Symfony creación de formularios

Continuando con la serie de tutoriales de iniciación a Symfony, vengo aquí con otra de las mejores cosas que tiene Symfony. Esta vez se trata del manejo y creación de los formularios. Podríamos seguir creando formularios a la antigua, mediante HTML, construyendo poco a poco dichos formularios. Pero si quieres ser realmente productivo construyendo aplicaciones que gestionan mucha información, interactuando con los usuarios, deberías de usar ésta herramienta y aprovechar lo que Symfony nos ofrece.

Continuar leyendo..

Cómo automatizar el despliegue de una aplicación web en Symfony 4

2018-11-25 - Categorías: Amazon Web Services / GNU/Linux / PHP / Symfony
Launch lanzamiento

¡Hola de nuevo! Llevo unos días muy ajetreado y no he tenido tiempo de escribir nada en el blog, así que aquí estoy compartiendo de nuevo un pequeño HOWTO que me está ayudando mucho en el día a día. Se trata de un pequeño script en Shell Script que automatiza el despliegue en servidor de una aplicación web hecha con Symfony 4.

En Symfony 4 ha cambiado toda la estructura de directorios, así que para tenerlo todo bien controlado y evitar fallos intermitentes, esta es una de la cosas a automatizar. No es plan que cada vez que queramos hacer un despliegue en producción o en el área de pruebas tengamos que entrar al servidor, descargar la última versión, refrescar archivos temporales, etc..

Continuar leyendo..

Symfony: tutorial 9: los entornos, y las configuraciones

2018-11-09 - Categorías: PHP / Symfony

Symfony entornos y configuraciones

Continuando con el repaso de Symfony y Symfony Flex, seguimos con las configuraciones y entornos de ejecución. Como buena estrategia de desarrollo, tenemos que tener presente el establecer varios entornos en los que vamos a trabajar en los proyectos sobre Symony. Es decir, por defecto, Symfony te invita a usar 3 entornos:

  • Desarrollo, cuyo nombre en clave es dev, del inglés develop.
  • Pruebas, cuyo nombre es test, que podemos correr en local o en un entorno con CI y CD.
  • Producción, con nombre en clave prod, que será en el servidor en Internet, aunque podemos simularlo en local también.

Continuar leyendo..


Symfony: tutorial 8: los assets

2018-10-30 - Categorías: PHP / Symfony

Symfony Assets

Otro día más, otro post más, siguiendo con la serie de tutoriales de iniciación a Symfony. Ahora estamos repasando en Symfony cómo incluimos los ficheros en las páginas web. Es decir, los assets son los ficheros CSS, Javascript e imágenes que usamos en el front-end. Ahora se ha simplificado un poco más todo el manejo de éstos.

Podemos evitarnos el cacheado en los navegadores dándoles un número o nombre de versión a todos los assets. Así con cada despliegue, configuramos un número nuevo de versión de assets, y se le añadirá la coletilla a los ficheros assets incluidos en toda la web. Esto forzará a los navegadores a descargarse la nueva versión de estos assets. Continuar leyendo..


Cómo filtrar el acceso a los elementos de la API Platform para Symfony

2018-10-15 - Categorías: PHP / Symfony
API Platform filtering

Vengo a traer un pequeño truco que es algo complicado de encontrar. Es decir, traigo un HOWTO para una configuración en concreto de una joya del software. Se trata de la API Platform para Symfony, con la que implementamos en muy poco tiempo una API web en un proyecto completo.

Con esta API Platform tendremos acceso remoto, mediante las clásicas llamadas GET, POST, PUT, DELETE a las entidades del proyecto. Podemos limitar el acceso a cada usuario a cada elemento de una entidad de la que sea propietario.

Continuar leyendo..

© 2024 JnjSite.com - MIT license

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