PHP


PHP & MongoDB: insertando masivamente muchos documentos

2021-04-05 - Categorías: PHP
MongoDB PHP bulkWrite multiple
Insert en PHP a MongoDB de 1 millón de documentos en 17 segundos..

Estoy jugueteando con MongoDB en PHP construyendo consultas para tratar de hacer las operaciones básicas más rápido. Dejó aquí un codekata para mejorar las operaciones sobre MongoDB, haciendo uso directo del driver de PHP sin librerías.

Continuar leyendo..

Comparando MongoDB y Mysql

2021-04-03 - Categorías: PHP

Estoy como niño con juguete nuevo con MongoDB, esta base de datos no relacional que está tan de moda en los últimos tiempos. Había escuchado que con las BD no relacionales no hacía falta definir una estructura, que funcionan muy rápido, que en los grandes proyectos con ingentes cantidades de datos son la mejor opción..

Así que aquí estoy haciendo un howto o codekata con el último driver de PHP para MongoDB. Hay librerías de más alto nivel como la propia mongodb/mongodb para Composer, o el conocido Doctrine con su ODM, pero para este post he tratado de programarlo a pelo para sacar el máximo rendimiento.

Continuar leyendo..

PHP, Composer y el PSR, montando la autocarga de clases

2021-03-20 - Categorías: General / PHP
PHP Composer PSR

En el origen de los tiempos, PHP no estaba tan organizado como lo está ahora. Era habitual encontrar los programas PHP divididos en ficheros .inc. También era habitual el descargar los ficheros de las librerías o componentes manualmente. Luego había que incluir todas las partes manualmente para hacerlo funcionar como un todo. Surgían conflictos de nombres, era difícil hacer crecer una aplicación, se incrustaba mucho el código programado en las plantillas. No había mucho orden, o había el orden que se podía esperar, de un lenguaje de programación tan nuevo.

Todo esto ha cambiado con el pasar de los años hasta la fecha en que escribo este post. PHP se creó en 1994, por Rasmus Lerdorf. Ha llovido mucho desde entonces, y han llegado muchas cosas por el camino como Composer, Twig, el PSR, la HipHop Virtual Machine, o la compilación JIT de la última versión de PHP 8, en la que los códigos compilarán a código máquina con lo que su velocidad será mayor.

Continuar leyendo..

Estructurando los ficheros de plantillas en WordPress con get_template_part()

2021-02-13 - Categorías: PHP / WordPress

Hoy traigo un pequeño howto o codekata, un resumen, sobre el sistema de plantillas para WordPress. En la documentación oficial está muy extendido. No he encontrado un resumen de todo esto, así que aquí estoy entonces compartiendo sobre este tema.

Este post es en parte continuación de un post anterior sobre cómo crear temas propios para WordPress. Más en concreto es el cómo trabajar los temas para estructurarlos. No hay que hacer grandes ficheros, si no ir dividiendo en pequeños problemas fáciles de resolver.

Este post resumen el cómo usar la función get_template_part() para seguir esas buenas prácticas recomendas por WordPress, dividir todo, para poder hacer después plantillas hijas del theme en curso. Al grano..

Continuar leyendo..

WordPress con Varnish, aumentando la velocidad con caché de front

2021-01-16 - Categorías: WordPress

Dándole una vuelta de tuerca más a las optimizaciones para WordPress, podemos querer instalar también al gran Varnish para el cacheado de front, y así seguir rascando esos milisegundos en la velocidad de la web.

Este post es una continuación del post anterior sobre el cacheado de back, en este caso con un sistema de cacheado de front. Esto es un howto o tutorial para instalar Varnish, y una review de un plugin para WordPress que funciona muy bien, el Purge Varnish Cache.

Continuar leyendo..

WordPress y los campos personalizados con ACF

2021-01-09 - Categorías: PHP / WordPress
WP instalando ACF

WordPress trae una forma de almacenar la información peculiar, a base de metadatos. Traigo en este post el cómo empezar a usar estos Campos Personalizados, y una breve review de otra joya del software para WP, el Advanced Custom Fields, que amplía esta funcionalidad.

La mayoría de los items de información dentro de la base de datos de WordPress, se almacenan en unas pocas tablas.. la de los posts, comentarios, términos y usuarios. Cada una de estas tablas, tiene unas tablas anexas para los metadatos relacionados con cada elemento. Los posts tienen por ejemplo la tabla _posts y _postmeta.

Continuar leyendo..

WordPress: mejorando el rendimiento con Query Monitor

2020-12-23 - Categorías: General / PHP / WordPress
Logo de WordPress

En la incansable búsqueda por conseguir hacer que las cosas funcionen lo mejor posible, me he encontrado con un plugin que vengo a compartir en este post. Se trata un plugin que todo desarrollador de WordPress debería de conocer, el Query Monitor.

Es un plugin que una vez instalado te muestra detalladamente qué es lo que está pasando dentro de WordPress para poder depurar, mejorar todo y aumentar el rendimiento de la web. Es una manera de tener una visión global del funcionamiento, número de consultas a la base de datos, plantillas cargadas, tiempos, errores/notificaciones/advertencias en la programación, y un largo etcétera..

Continuar leyendo..


Scripts y técnicas de despliegue continuo para una web con Git

2020-11-16 - Categorías: General / Magento / PHP / Symfony / WordPress

Automatizar la publicación de nuevas versiones es una técnica de desarrollo de aplicaciones que se denomina Despliegue Continuo o Continuous Deployment en inglés (CD). Se suele usar junto con el Continuous Integration (CI), en el que se elabora una serie de pruebas automáticas sobre el software.

Tener esto automatizado nos ahorra mucho tiempo, nos dará velocidad en todos estos pasos intermedios ya que no tendremos que repetirlos continuamente, y podremos centrarnos en desarrollar para cada iteración.

Durante las pruebas puede notificarnos en caso de errores, realizar todo tipo de chequeos, o elaborar documentación sobre el proyecto para el resto del equipo. Pero una vez que tenemos el primer paso montado del CI, es interesante seguir con el segundo paso del CD. A continuación comparto unos scripts e instrucciones para una web en WordPress, Symfony o Magento 2, con GitHub o BitBucket. Así es como funciona también aquí en JnjSite.com..

Continuar leyendo..

PHP: una de arrays, strings, json y objetos

2020-10-25 - Categorías: PHP
Logo de PHP

Dejo aquí un post apunte o codekata, sobre cómo convertir los datos en PHP. Más bien unas líneas de acción para trabajar con la información dentro de los programas en PHP.

Lo lógico es tratar de utilizar programación orientada a objetos para tratar de organizar el código y que sea mantenible. Utilizar código limpio, estructurado en capas, dividido según funcionalidades, etc.. pero antes de llegar a esto tenemos que lidiar quizá con operaciones más sencillas.

Continuar leyendo..

WordPress: generando al vuelo un fichero y descargándolo

2020-09-26 - Categorías: PHP / WordPress
Logo de WordPress

Hoy vuelvo con otro howto o codekata para WordPress. Esta vez es para hacer una descarga de un fichero que no existe, a partir de una URL. Es decir, es una forma de generar contenido de un fichero al vuelo, en forma de fichero y darlo en descarga al navegador que visita WP. En vez de devolver contenido HTML, CSS y JavaScript desde el servidor al navegador que nos visita, devolvemos el contenido de un fichero y le decimos al navegador que nos visita que hay que descargar.

Para hacer esto es simple la idea. Sólo hay que engancharse a un hook de WordPress antes de que se devuelva ninguna respuesta web normal al navegador. Entonces, si la URL de la petición es la que queremos, entonces devolvemos el contenido del fichero, y ponemos los HEADERS en la respuesta para que el navegador se descargue el contenido en forma de fichero.

Continuar leyendo..

© 2021 JnjSite.com - MIT license

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