Incluso si llevas un S En su cofre, cuando se trata de programación, los errores indudablemente se introducirán en su aplicación. Estos errores son causados por nosotros los programadores como resultado de un error de código o por los usuarios que no están dispuestos a cumplir con las restricciones de la aplicación o del sitio web..
Los errores causados por los usuarios finales suelen ser más adversos que los del programador porque los datos o la información introducidos por el usuario son impredecibles..
Por ejemplo, en un campo de formulario de correo electrónico, en lugar de ingresar un correo electrónico válido, el usuario podría ingresar un texto que no es de correo electrónico. Si el sitio web carece de un mecanismo de manejo de errores sólido, el usuario puede obtener acceso no autorizado a información confidencial.
Dado que no se puede predecir el comportamiento de los usuarios, se puede programar un sitio web o una aplicación para que rechace de manera correcta cualquier información no válida ingresada por el usuario e informe al usuario de que la información no es válida. Este proceso es lo que se denomina manejo de errores.
WordPress se entrega con una clase WP_Error que hace que el manejo de errores dentro de los complementos y WordPress sea mucho más fácil.
los WP_Error
La clase consta de dos propiedades y ocho métodos. Estas propiedades son utilizadas internamente por la clase y es probable que no las necesite, ya que la mayoría de las tareas que desea llevar a cabo se pueden realizar utilizando los métodos de la clase.
A continuación se muestran las dos propiedades de clase y lo que hacen.
$ errores
esuna matriz que contiene la lista de errores.$ error_data
Es una matriz que contiene la lista de datos para códigos de error.. Antes de examinar los métodos de clase, me gustaría explicar estos tres términos de uso interno por parte de WP_Error
clase - Código, Mensaje, Datos.
No se preocupe si son difíciles de entender en este momento: las cosas se vuelven más claras a medida que examinamos ejemplos de código en la siguiente sección.
errores
propiedad de clase.código
) pero guardado en el error_data
propiedad.Ahora a los métodos de clase y lo que hacen:
__construir()
Es un método mágico de PHP que acepta tres argumentos: código, mensaje y datos. Pasando el argumento sobre la instanciación de la WP_Error
clase configura el mensaje de error.get_error_codes ()
devuelve una lista de todos los códigos de error si están disponibles.get_error_code ()
recupera el primer código de error y devuelve una cadena, entero o vacío si no hay códigos de error.get_error_messages ($ code)
recuperar todos los mensajes de error cuando el código
el argumento está ausente o los mensajes de error coinciden con el código
argumento. Devuelve una matriz de cadenas de error en caso de éxito, o una matriz vacía en caso de falla (si se usa el parámetro de código).get_error_message ($ code)
recibe un solo mensaje de error. Esto obtendrá el primer mensaje disponible para el código. Si no se proporciona ningún código, se utilizará el primer código disponible. Devuelve una cadena de error. get_error_data ($ code)
recuperar datos de error para un código de error dado. Devuelve los datos o null, si no hay errores.. agregar ($ código, $ mensaje, $ datos)
añadir más mensajes de error a la lista de mensajes de error.add_data ($ data, código $)
Agrega datos para el código de error. El código de error solo puede contener una pieza de datos de error.Usar el WP_Error
clase para el manejo de errores, en primer lugar crear una instancia de la clase mediante el uso del método de la clase. Puede agregar un mensaje de error pasando el código
, mensaje
, y datos
en la instanciación.
$ my_error = new WP_Error ('juguete', 'mi juguete favorito es la plataforma');
Examinando la estructura del objeto $ my_error vía print_r ()
revela:
WP_Error Object ([errors] => Array ([toy] => Array ([0] => mi juguete favorito es la carretilla)) [error_data] => Array ()
Tenga en cuenta que nuestro error definido se almacena en errores
propiedad de clase mientras que la error_data
propiedad no tiene datos.
Al pasar un tercer argumento sobre la creación de instancias, cree un dato con el código
(primer argumento) es la clave de la matriz y el tercer argumento (datos
), el valor de la matriz.
WP_Error Object ([errors] => Array ([toy] => Array ([0] => mi juguete favorito es dolly)) [error_data] => Array ([toy] => my best))Para agregar o agregar más mensajes de error a la lista de errores,
añadir
Se utiliza un método que acepta.código
,mensaje
, ydatos
como argumento del método.agregar ('juego', 'mi consola de juegos favorita es PS4');Pasando un tercer argumento (tipo de datos mixto) a la
añadir()
método agrega un dato al código de error.agregar ('juego', 'mi consola de juegos favorita es PS4', 'mejor juego');Utilizando
print_r ()
De nuevo, veamos la estructura e información de nuestra$ my_error
WP_Error
objeto.WP_Error Object ([errores] => Array ([toy] => Array ([0] => mi juguete favorito es dolly) [game] => Array ([0] => mi consola de juegos favorita es PS4)) [error_data ] => Array ([toy] => best toy [game] => best game))los
agregar datos()
El método también podría usarse para agregar estrictamente datos para el código de error. El código de error solo puede contener un dato de error..$ my_error-> add_data ('mi mejor maestro es el Tío Sam', 'maestro');Hemos aprendido cómo crear instancias y agregar mensajes de error y datos a la
WP_Error
objeto. Veamos cómo recuperar el mensaje de error, el código y los datos..Utilizando la
get_error_codes ()
método devuelve una lista de todos los códigos de error.print_r ($ my_error-> get_error_codes ()); / * devuelve Array ([0] => toy [1] => game) * /Mientras
get_error_code ()
solo devuelve el primer código de error.print_r ($ my_error-> get_error_code ()); // juguetelos
get_error_messages ()
Recupere todos los mensajes de error cuando elcódigo
el argumento está ausente o los mensajes de error que coinciden con elcódigo
argumento.print_r ($ my_error-> get_error_messages ()); / * devuelve Array ([0] => mi juguete favorito es dolly [1] => mi consola de juegos favorita es PS4) * /print_r ($ my_error-> get_error_messages ('juego')); / * devuelve Array ([0] => mi consola de juegos favorita es PS4) * /los
get_error_message ()
devuelve un solo mensaje de error que coincide con el código. Si no hay código, devuelve el primer mensaje de error..print_r ($ my_error-> get_error_message ()); // mi juguete favorito es el carrolos
get_error_data ()
devuelve los datos para el código de error.print_r ($ my_error-> get_error_data ()); // mejor jugueteprint_r ($ my_error-> get_error_data ('teacher')); // mi mejor maestro es el tio samAl crear un complemento, es posible que desee comprobar si una variable es una
WP_Error
objeto. Aquí es dondeis_wp_error ()
Viene muy bien.Además, es posible que también desee asegurarse
WP_Error
El objeto no contiene ningún mensaje de error antes de que se procese una acción. Por ejemplo, el siguiente fragmento de código comprueba si$ my_error
El objeto no contiene ningún error. Si es verdad, "No hay error, estamos bien para ir"se repite.if (1> count ($ my_error-> get_error_messages ())) echo "No hay error, estamos listos";Resumen
En esta primera parte de la serie sobre el manejo de errores en WordPress usando
WP_Error
, Nos echamos un vistazo a la clase, explicamos lo que hace cada método de clase con ejemplos de código..La segunda parte nos mostrará un práctico caso de uso al usar
WP_Error
Para manejar errores al desarrollar complementos. En realidad estaremos creando un complemento de formulario de contacto a medida que avanzamos..
Permanece atento, no te lo pierdas!