Todas las entradas de: admin

Guía 22 – Depuración código PHP, línea a línea (Actualización)

He actualizado la información de esta guía para adecuarla a las versiones actuales de NetBeans, de PHP y de Xdebug.

Llevo bastantes días utilizando este producto en versiones actualizadas,  para depurar código en vez de MS Visual Studio Code y estoy muy contento de los resultados, por ello vuelvo a animaros (a aquellos que todavía no lo habéis probado) para que lo instaléis y probéis. El tiempo invertido en la instalación (que no es mucho) lo recuperaréis en cuanto tengáis que depurar algún código que no se comporte cómo tú lo habías pensado.

Objetivo

Disponer de un entorno de desarrollo donde pueda depurar código PHP (el generado por PHPRunner)  y poder ir observando, línea a línea la evolución y contenido de las variables del aplicativo.

Si te interesa este tema sigue leyendo el resto del artículo en este enlace.

Guía 74 – Crear menús dinámicamente

En el foro de Xlinesoft, un desarrollador explica con buen criterio, es mi impresión, que ver la información de «Maestro» y «Detalle», en una página «LIST», más cuando son 3 o 4 niveles de «detalle» de información es muy complejo para el usuario del aplicativo y que si había alguna otra posibilidad de tener esa capacidad de detalles y fuese más claro para los usuarios.

Por mi experiencia, me he encontrado desarrollando sistemas en donde un ítem, cómo expediente o contrato, tiene múltiples informaciones dependientes de esta entidad principal y que en los sistemas en donde los usuarios  entienden bien estas relaciones es viendo esta información como un «árbol jerárquico» donde se van abriendo «hojas» por tipo de entidad y registros de ese tipo, dependientes de la información principal.

Objetivo

Representar información jerárquica relacionada a través de un «árbol», en este caso, vamos a utilizar un menú secundario para presentar la información jerárquica.

DEMOhttps://fhumanes.com/menu_dinamico/

Si te interesa este tema, sigue leyendo el artículo de este enlace.

Integrar con Drupal

Drupal es un CMS (Gestor de contenidos) de los más utilizado, sobre todo en empresas de la Administración Pública y sitios oficiales, porque en teoría tiene menos agujeros de seguridad que el resto (WordPress, Joomla, etc.).

En concreto, se utiliza masivamente en la organización donde yo trabajaba y en la empresa donde trabaja mi hijo.

En la versión 10, que es la que he utilizado en este ejemplo, es un producto que ha madurado mucho. La mejora de estos últimos años ha sido «enorme».

Desde mi punto de vista, es un excelente producto para mostrar contenido (biblioteca de libros, imágenes, actividades de colegios o club deportivo, etc.), con mejor calidad que los desarrollos de PHPRunner y, además, es gratuito.

Si necesitáis un manual de usuario para la instalación y gestión de Drupal 10, podéis ir a esta empresa https://www.forcontu.com/user/downloads, disponen de muy buenos manuales (español e Inglés) y el básico «Site Building Introducción» os lo facilitan por registraros ( PDF 433 páginas) .

Objetivo

Esta nueva versión de Drupal incorpora un API REST Full para acceder y modificar todo su contenido y el «reto» es utilizando este API, mover contenidos (datos y ficheros) desde Drupal a PHPRunner y desde PHPRunner a Drupal.

(1).- Botón para traer todos los Artículos de Drupal a PHPRunner.
(2).- Botón para cargar  los registros seleccionados de PHPRunner a Drupal.
(3) y (4).- Tanto de la información se ha traído de Drupal, como si se ha cargado desde PHPRunner, estos datos identifican la información en Drupal, para que si sincronizamos la información, el aplicativo elimina la versión anterior.

Si estas interesado en este tema, sigue leyendo el artículo en este enlace.

Guía 73 – Planificador de Tareas Batch

En cuanto tienes una aplicación con un mínimo de complejidad, enseguida identificas que necesitas ejecutar tareas en segundo plano o batch, para ejecutar procesos a determinadas horas, por ejemplo, migración de información, backup de tu sistema, etc.

Si dispones de la totalidad de acceso a tu sistema, enseguida te acuerdas de CRON o Crontab, que es el planificador de tareas del sistema operativo.

No siempre tienes total acceso para este tipo de configuración y además es complejo. Además, tienes el problema de que pasar tu aplicación de una máquina a otra, tienes que recordar que hay acciones fuera de tu aplicativo, por lo que es una posible fuente de problemas.

He diseñado un sistema que permite integrarse 100% con PHPrunner y que elimina el problema de migración de configuración, y facilita la definición y gestión de estas tareas Batch.

Objetivo

Disponer de un sistema, similar en funcionalidad al Crontab y totalmente integrado con PHPRunner.

Este sistema debe permitir:

  • Definir las tareas en formularios hechos en PHPRunner, en donde se especifique:
    • Fecha inicial de ejecución de la Tarea.
    • Fecha final de ejecución de la Tarea.
    • Intervalo de ejecución, definido en meses, días, horas y minutos.
    • Comando de ejecución con path variable dependiendo de la ubicación del aplicativo.
    • Registro por cada ejecución que indique: hora de inicio, hora de final y resultado de la ejecución.
    • Definición de tiempo máximo de ejecución y si se supera, cancelación del proceso.
  • Ejecución única en el sistema de una tarea Batch (para no sobrecargar el sistema).
  • En las tareas Batch, posibilidad de trazas, para depuración y control, integrada con la aplicación de PHPRunner.
  • Normalización de las tareas Batch, para utilizar la conexión de base de datos del aplicativo de PHPRunner (facilidad en la migración entre sistemas).

DEMO:  https://fhumanes.com/scheduler/
(Esta versión está limitada para impedir mal uso de los ejemplos)

Información que tratamos para cada tarea. No se ejecuta cuando está marcada el campo de «Status finished» o le campo «Date Next Execution» es inferior a la fecha actual.

También, en la definición del comando a ejecutar hay estas sustituciones:

{DIR} .- Se sustituye por el path donde se este ejecutando el aplicativo
{ID_TASK} .- Se sustituye por el ID del registro de log de ejecución.

Si te interesa este tema, sigue este enlace para ver el artículo completo.

Guía 72 – Desarrollo de juegos con PHPRunner

No es fácil diseñar juegos con software de gestión, como es el caso de PHPRunner.

El desarrollo de juegos requieren un uso muy especial del interface de usuario, pero yo entiendo que puede ser un buen ejemplo para aquellos que se están formando en la herramienta de desarrollo (PHPRunner), pues con muy poco código se puede apreciar características de la herramienta y es una buena alternativa para modificar/ampliar la funcionalidad del ejercicio.

Uno de los juegos que casi siempre programo en los lenguajes en los que me estoy formando es el  de «MasterMind«, en la variante de utilización de números en vez de colores, y ese es un de los juegos que he desarrollado.

Otro, que puede ser una variante del mismo es el de «Wordle«, adivinanza de una palabra de 5 letras. También lo he desarrollado (palabras en español).

Objetivo

A través del desarrollo de un juego mostrar un conjunto de características de un desarrollo hecho en PHPRunner:

  • Mostrar cómo en la definición de las tablas o vistas podemos utilizar querys complejas e incluso actualizar los campos de una tabla que participa en la query compleja.
  • Utilización de plugins e instalación de plugins.
  • Utilización del API de JavaScript de PHPRunner.
  • Utilización de JQuery, para modificar aspectos y funcionalidad en JavaScript.
  • Presentación de información con aspectos especiales, creando HTML dinámico.
  • Cambio de lógica en el flujo de las páginas del aplicativo.
  • Modificaciones de aspectos con CSS.
  • Validaciones en ADD inline con mostrado de mensajes de error en «alert» o cualquier otra forma clara para el usuario.
  • Cuidar los aspectos para que los ejemplos sean funcionales en la ejecución en el móvil

DEMO: https://fhumanes.com/masterMind/

DEMO: https://fhumanes.com/wordPlay/

Si te interesa este tema, sigue este enlace para ver el artículo completo.