✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Lectura y comprensión de los registros de errores de WordPress, parte 2

20

La última vez, analizamos lo siguiente:

  1. configurar constantes de depuración,
  2. localizar un archivo de registro de errores,
  3. comprender cómo leer el archivo de registro,
  4. comprender los rastros de la pila
  5. entender cómo leer la pila

Tan agradable como es, sigue siendo importante comprender cómo escribir datos en el registro de errores desde un aspecto programático. Es decir; una cosa es si su trabajo arroja errores, advertencias o avisos.

Lectura y comprensión de los registros de errores de WordPress, parte 2

Otra cosa es si desea comprender cómo escribir información en el archivo para investigar y depurar manualmente.

En esta publicación, continuaremos haciendo exactamente eso para mejorar nuestra comprensión de los registros de errores de WordPress.

Comprender los registros de errores de WordPress, parte 2

¿Cuál es el punto de escribir en el registro de errores, de todos modos? Quiero decir, ¿es siquiera parte del proceso de depuración?

De la publicación anterior :

Pero, ¿qué pasa en el caso de que queramos volcar algo para obtener información sobre lo que está viendo WordPress o PHP? Eso también es útil.

Cuando los programadores piensan en la depuración, muchos de ellos piensan en usar un depurador real (es decir, una pieza de software), establecer puntos de interrupción y recorrer el código para observar el valor de las variables a medida que se ejecuta el programa.

Vamos a llegar a ese punto, pero antes de hacerlo, echemos un vistazo a cómo podemos escribir en el registro de errores nosotros mismos para darnos una idea de cómo está funcionando nuestro trabajo.

Después de todo, una cosa es que nuestro trabajo arroje advertencias, errores y avisos. Es otra si hay información que queremos ver. Y ahí es donde entra en juego escribir en el registro de errores.

Comprender las funciones de PHP

Para escribir en el registro de errores, es importante comprender dos funciones de PHP:

  1. registro de errores
  2. imprimir_r

En lo que respecta a la función error_log, tenga en cuenta que su propósito es:

Enviar un mensaje de error a las rutinas de manejo de errores definidas

En la mayoría de los casos, esto está configurado para escribir en el archivo de registro por nosotros a través de la configuración predeterminada de WordPress y PHP. Pero hay más que eso porque a menudo vamos a querer mostrar los valores de variables, arreglos, objetos, etc.

Para ese fin, debe poder usar print_r junto con error_log. print_r hace lo siguiente:

Imprime información legible por humanos sobre una variable

Y si lee el manual, notará que se necesitan dos argumentos, el segundo de los cuales debe establecerse en verdadero si desea que el resultado de una función se imprima en el archivo de registro.

Específicamente, como dice el manual:

Si desea capturar la salida de print_r(), use el returnparámetro. Cuando este parámetro se establece en TRUE, print_r() devolverá la información en lugar de imprimirla.

Entonces, la idea general de escribir nuestro valor de una matriz, digamos $exampleArray, se vería así :

<?php

error_log(print_r($exampleArray, true));

Pero, ¿qué pasa dentro del contexto de WordPress?

Escribir valores en el registro de errores en WordPress

Entonces, lo anterior describe las funciones integradas en PHP que necesitamos, pero ¿cómo se ve esto en el contexto del desarrollo de WordPress?

Para hacer esto, digamos que hemos implementado una versión del patrón de registro. En nuestra implementación del patrón, también tenemos un método llamado inicio al que podemos llamar una vez que todos nuestros objetos se hayan agregado al registro.

Puede verse algo como esto:

<?php

/**
 * Starts all of the objects stored is the registry by calling
 * the `start` method that's available on each of the objects.
 */
public function start()
{
    foreach ($this->storage as $obj) {
        $obj->start();
    }
}

Ahora, en lo que respecta a la implementación, esto es sencillo. Pero, ¿qué pasa si queremos ver qué objetos se invocan a través de cada iteración del ciclo?

La idea detrás de esto es que podemos iterar a través de los objetos almacenados y llamar a un método en cada uno de ellos. Esto se basa en la idea de que cada uno de los objetos tiene un método disponible en cada uno de ellos (que se puede aplicar mediante una interfaz ).

Primero, esto plantea una pregunta: ¿Por qué podemos querer hacer eso? Debido a la naturaleza del sistema de gestión de eventos de WordPress, tal vez queramos asegurarnos de que todos los objetos que esperamos que se disparen se disparen.

En segundo lugar, ¿cómo podemos ver qué objetos se están invocando? Aquí es donde entra en juego la escritura en el registro de errores. Usando los métodos que hemos descrito anteriormente, una forma de hacerlo sería hacer lo siguiente :

<?php

/**
 * Starts all of the objects stored is the registry by calling
 * the `start` method that's available on each of the objects.
 */
public function start()
{
    foreach ($this->storage as $obj) {
        error_log(print_r($obj, true));
        $obj->start();
    }
}

Esto dará como resultado la siguiente salida:

Lectura y comprensión de los registros de errores de WordPress, parte 2

Aquí, puedes ver el objeto; su espacio de nombres, sus valores de propiedad (incluso si las propiedades son privadas, protegidas, públicas, etc.).

A partir de ahí, puede hacer un poco de depuración si el resultado es lo que no esperaba o tal vez pueda usar esto para verificar que su código está haciendo lo que esperaba.

Sin embargo, este es solo un ejemplo. Sin embargo, podría volcar los valores de la variable $storage antes incluso de iterar a través del bucle. Esa elección realmente depende de usted y de lo que está buscando lograr.

Uso de los complementos instalados

En este punto, hemos cubierto los aspectos básicos de la depuración de código mediante el uso de registros de errores.

Sin embargo, ahora debemos centrar nuestra atención en los complementos que se discutieron hace algunas publicaciones. Después de eso, eventualmente trabajaremos en nuestro camino hacia Xdebug.

Pero a continuación, veremos las herramientas disponibles para nosotros desde el mismo WordPress.

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More