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.

IA: cómo montar un Sistema Basado en Reglas con PHP

2021-05-30 - Categorías: Inteligencia Artificial / PHP

Realmente no hacen falta complejos sistemas informáticos para montar inteligencias artificiales, o más bien, para aplicar inteligencia artificial a la resolución de los problemas.

Aquí tenemos a modo de codekata, un sencillo howto hecho 100% en PHP, para montar una pequeña IA. Un Sistema Basado en Reglas, es una de las formas más sencillas de aplicar inteligencia artificial a la resolución de problemas. Los SBR son Sistemas Expertos, que comenzaron a usarse por la comunidad a mediados de 1960, con lo que tienen su recorrido..

Continuar leyendo..

Comparando algoritmos de búsqueda en grafos

2021-05-24 - Categorías: Inteligencia Artificial / PHP
Comparando el AGBG con anchura, profundidad, BF y A*..

Aquí puedes encontrar un howto o codekata en PHP, en el que se comparan algunos algoritmos de recorridos de grafos. Este post es continuación del post anterior sobre el algoritmo general de recorrido en grafos.

A partir del algoritmo general, tenemos derivados cuatro algoritmos más. Dos de estos algoritmos son de los básicos, y dos aplican técnicas heurísticas. Los heurísticos tratan de predecir qué camino usar primero para alcanzar antes el nodo meta.

Continuar leyendo..

El algoritmo general de búsqueda en grafos

2021-05-17 - Categorías: Inteligencia Artificial / PHP

Este post es sobre una algoritmo que es la madre del cordero de muchos algoritmos de búsqueda ? Se puede considerar un algoritmo base para búsquedas, sobre el que se puede evolucionar hacia otros algoritmos. No he encontrado su implementación en PHP, así que aquí estoy compartiendo, a modo de codekata, este howto.

Este algoritmo general de búsqueda en grafos, es un algoritmo elaborado para solucionar problemas inteligentemente representados mediante grafos. No aplica ninguna predicción sobre los siguientes caminos a seguir mientras se hace la búsqueda, pero tampoco es un algoritmo de fuerza bruta.

Lo propuso Nilsson en 1971, así que tiene ya su recorrido. A partir de éste se han generado todo tipo de mejoras, heurísticas, desembocando en todo tipo de variantes que mejorarán el rendimiento como por ejemplo el A*, IDA, SMA*, Dijkstra, etcétera..

Continuar leyendo..

El ABC con la librería mongodb/mongodb de PHP

2021-05-09 - Categorías: PHP

Aquí vengo a compartir un pequeño codekata o howto para comenzar a usar la última librería de PHP que se proporciona para el último driver de Mongodb a fecha de hoy. Mongodb es esta base de datos tan de moda. Tiene muy buen rendimiento, se suele usar cuando hay mucha cantidad de datos, escala horizontalmente muy bien, y un largo etcétera.

En unos posts anteriores estuve compartiendo sobre cómo arrancar en proyectos con Mongodb y PHP a pelo, sin librerías de Composer ni nada.

Continuar leyendo..


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

© 2024 JnjSite.com - MIT license

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