Descubra Kint, un reemplazo bonito y confiable para var_dump(), print_r() y debug_backtrace().

Kint: un ayudante de depuración de PHP moderno y potente

Sin lugar a dudas, los desarrolladores de PHP tienen la suerte de contar con fantásticas funciones de utilidades de depuración incluidas en PHP como var_dump y debug_backtrace para conocer gráficamente (en la descripción del texto) el contenido de alguna variable. Algunos lenguajes como C, C # y otros no ofrecen esta utilidad de forma predeterminada. Esto es realmente útil cuando está depurando por qué su código no funciona o está creando algo desde cero.

Sin embargo, algunas estructuras de una variable son bastante difíciles de entender y leer incluso con el método mágico var_dump. Es por eso que hay bibliotecas que decidieron mejorar aún más esta característica, como Kint. Kint para PHP es una herramienta bastante útil diseñada para presentar sus datos de depuración de la mejor manera posible gráficamente. En otras palabras, es var_dump () y debug_backtrace () con esteroides. Fácil de usar, pero potente y personalizable. Es una adición esencial a su caja de herramientas de desarrollo, por lo que si aún no comprende la descripción de esta biblioteca, se usa para ver qué hay dentro de las variables:

Kint Debuggin PHP Variables easily

Esta vista de árbol se muestra en la vista, donde puede ver los datos simplemente haciendo clic en cualquier lugar de la barra para desplegarlos. Algunas características de la vista de árbol son:

  • Haga doble clic en + para desplegar a todos los niños
  • Presione d para alternar la navegación del teclado.
  • Presione el ícono “⇄” a la derecha para ver lo que necesitaría ejecutar para obtener un fragmento de datos.
  • Cambie de pestaña para ver diferentes vistas de los datos.
  • Puede ordenar tablas de datos haciendo clic en los encabezados.

Kint detecta, descomprime y analiza automáticamente formatos comunes como XML, base64, serializar y JSON. Además, detecta patrones comunes como colores, nombres de archivos, tablas y marcas de tiempo y muestra información adicional sobre ellos, lo que proporciona al desarrollador el código exacto que necesitan para acceder a cierta información anidada en lo profundo de la jerarquía.

Instalación

Puede usar esta biblioteca fácilmente en cualquier proyecto PHP que use una versión igual o superior a la 5.1.2. Puede instalarlo con composer simplemente ejecutando el siguiente comando en su proyecto:

composer require kint-php/kint

Alternativamente, simplemente descargue el archivo kint.php del repositorio  y luego agréguelo en su archivo PHP como:

<?php

require 'kint.php';

Después de la instalación por cualquiera de las 2 formas, podrá utilizar los métodos que Kint tiene para ofrecer para ayudarlo con la depuración.

Uso

El proyecto está hecho para que sea fácil de usar. Al igual que los métodos de depuración predeterminados del lenguaje, puede usar el volcado de método estático de la clase Kint para depurar variables e incluso usar atajos:

<?php

// If using composer include the kint namespace
use Kint;

// Debug multiple arguments
Kint::dump($GLOBALS, $_SERVER, "Hello World"); 
// Or use the d shortcut of Kint
d($GLOBALS, $_SERVER, "Hello World");

// Debug backtrace
Kint::trace();
// Debug backtrace shortcut
d(1); 

// Basic output mode
s($GLOBALS); 

// Text only output mode
~d($GLOBALS);

// Disable kint
Kint::$enabled_mode = false;
// Debugs no longer have any effect
d('Get off my lawn!');

Consejos y trucos

  • Kint está habilitado de forma predeterminada, configurado para desactivar su funcionalidad por completo. La mejor práctica es habilitar Kint solo en un entorno de desarrollo (o por ejemplo ), por lo que incluso si accidentalmente deja un volcado en producción, nadie lo sabrá. Kint::$enabled_mode = false;  Kint::$enabled_mode = ($_SERVER['REMOTE_ADDR'] === '<your IP>');
  • ¡Kint tiene atajos de teclado ! Cuando Kint esté visible, presione en el teclado y podrá atravesar el árbol con las flechas,, y las teclas, y expandir / contraer los nodos con o .  D  hjkl tab  space  enter
  • Al hacer clic en el signo o en la barra, se abrirá / cerrará. + 
  • Al hacer doble clic en el letrero, se abrirá / cerrará y todos sus elementos secundarios . + 
  • Al hacer triple clic en el inicio de sesión, se abrirá / cerrará todo en la página. + 
  • ¿Ves las pequeñas flechas a la derecha de la salida? Haga clic en ellos para abrir el nodo en una pestaña separada, o para mostrar la ruta de acceso para el valor.
  • Hay un par de modificadores en tiempo real que puede usar:
    • ~d($var) esta llamada saldrá en formato de texto sin formato.
    • +d($var) ignorará los límites del nivel de profundidad y emitirá todo. (¡Cuidado, esto puede colgar su navegador en objetos grandes!)
    • !d($var) expandirá la salida automáticamente.
    • -d($var) intentará la salida anterior. ob_clean 
    • También puedes combinar modificadores: ~+d($var)
  • Para cambiar el tema de visualización, use las opciones disponibles donde están: (predeterminado) , y . También puede pasar la ruta absoluta a un archivo CSS para usarlo en su lugar: Kint_Renderer_Rich::$theme = '<theme name>';  'original.css'  'solarized.css' 'solarized-dark.css'  'aante-light.css'

Kint Custom Theme

Cómo contribuir

El código fuente de Kint está alojado en Github y puedes informar problemas, crear solicitudes de extracción mientras el proyecto funciona bajo la licencia MIT.


Ingeniero de Software Senior en EPAM Anywhere. Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores