Uso de WordPress para el desarrollo de aplicaciones web Características disponibles, Parte 5 - Recuperación de datos

Ya sabe que el propósito de esta serie es demostrar cómo se puede usar WordPress como base para el desarrollo de aplicaciones web..

Comenzamos con una mirada de alto nivel a muchos patrones de diseño de aplicaciones web, cómo WordPress difiere y por qué WordPress debe considerarse más como una base en lugar de un marco..

En los últimos artículos, hemos analizado los roles de los usuarios, los permisos, la administración de sesiones, el correo electrónico y la serialización de datos. Pero si va a guardar datos en la base de datos, solo tiene sentido que los va a recuperar, ¿verdad??

Afortunadamente, las API que WordPress tiene disponibles hacen que sea realmente fácil recuperar información de la base de datos. Además de eso, si encuentra que el último artículo es fácil de seguir, no debería tener problemas para seguir este artículo, ya que muchos de los principios son los mismos:

  • Recuperamos la información de la base de datos utilizando la ID única que proporcionamos al guardar la información
  • Escapamos los datos para asegurarnos de que sea seguro renderizar en el navegador
  • Luego lo devolvemos a la función de llamada.

Nada terriblemente complicado, ¿verdad??

Y realmente no lo es, especialmente en lo que se refiere al aprovechamiento de las mismas API (aunque con funciones diferentes) que usamos para guardar información en la tabla de opciones y en las tablas de metadatos. En este artículo, continuaremos nuestra discusión sobre cómo recuperar información, así como también cómo asegurarnos de que estamos ocultando la información de manera adecuada para asegurarnos de que los datos estén seguros y limpios para su representación en el navegador..


Recuperación de datos

Como mencioné en artículos anteriores, uno de los diferenciadores principales entre un sitio web normal y una aplicación web es el almacenamiento de datos..

Y dado que WordPress usa su propia base de datos para administrar el almacenamiento de datos y también hace que las API estén disponibles para que las usemos en nuestros propios proyectos, obviamente es una aplicación web..

Además, solo comenté en el artículo anterior, entender cómo guardar datos usando las API adecuadas es realmente simple, y una vez que aprendió a usar una, usar el resto es casi igual de fácil. Además de eso, aprender a recuperar datos es posiblemente aún más fácil.

Dicho esto, hay algunos matices que debemos tener en cuenta al avanzar en la recuperación de datos. Pero primero, revisaremos la base de datos, veremos cómo recuperar información y luego veremos cómo escapar de la información de manera adecuada antes de devolverla al navegador..

Entendiendo la base de datos

En el artículo anterior, tenemos una descripción detallada de las tablas en las que puede escribir. Puede leer sobre esto más detalladamente en el primer artículo, pero aquí hay un resumen de las tablas que discutimos:

  • wp_options
  • wp_posts
  • wp_postmeta
  • wp_comments
  • wp_commentmeta

Recuerde, puede revisar todo esto y más en la página de descripción de la base de datos en el Códice de WordPress.

Lectura de la base de datos

Así que con eso como nuestro actualizador, es hora de ver cómo recuperar información de la base de datos.

Afortunadamente, es tan fácil como escribir información en la base de datos. Las dos diferencias principales son:

  • Estamos usando funciones ligeramente diferentes.
  • Hay un poco de trabajo que tenemos que hacer para asegurarnos de que los datos que estamos mostrando tengan el formato correcto para el navegador.

Antes de ver cómo administrar los datos, primero veamos cómo leer las opciones de la base de datos..

La tabla de opciones

Recuerde del último artículo que la forma en que escribimos los datos en la tabla de opciones es mediante el uso de add_option o la get_option funciones.

Recuerde: cada uno toma una clave única que se utiliza para identificar el valor en la base de datos y el valor asociado con esa clave. En nuestro ejemplo anterior, demostré lo siguiente:

 if (isset ($ _POST ['value']) &&! empty ($ _POST ['value']) $ clean_value = strip_tags (stripslashes ($ _POST ['value'])); add_option ('my-value', $ clean_value);

Esto significa que hemos saneado y guardado información en la base de datos utilizando el mi valor llave.

Para recuperar esta información de la base de datos, hacemos la siguiente llamada:

 $ my_value = get_option ('my-value');

Es casi demasiado simple.

Pero hay una trampa para el get_option función: en realidad podemos especificar un valor predeterminado para devolver si no existe uno.

Por ejemplo, digamos que vamos a buscar un valor para la clave tu-valor, que no existe.

 // $ your_value será igual a FALSE $ your_value = get_option ('your-value');

En este caso, la función volverá. FALSO; sin embargo, si especificamos un segundo parámetro, entonces podemos devolver un valor predeterminado:

 // $ your_value será igual a una cadena vacía $ your_value = get_option ('your-value', ");

Aún así, nada terriblemente complicado, ¿verdad??

¿Qué pasa con el tema Mod?

Antes de ver cómo recuperar información de las meta tablas, vale la pena mencionar que al igual que configuramos la información usando set_theme_mod, También podemos recuperar la configuración del tema usando get_theme_mod.

Directamente del Códice WordPress:

Recupera una configuración de modificación para el tema actual. Junto con set_theme_mod () esta función a veces puede ofrecer a los desarrolladores de temas una alternativa más simple a la API de configuración cuando es necesario manejar configuraciones básicas específicas del tema.

Una vez más, esto obviamente es para trabajar con temas; sin embargo, quise mencionarlo aquí por estar completo y por redondear la discusión iniciada en el artículo anterior..

Aparte de eso, esto solo tiene el propósito de mostrar cómo se pueden almacenar las opciones según cómo esté trabajando con el desarrollo del tema; Sin embargo, está realmente fuera del alcance de la serie sobre desarrollo de aplicaciones..

El Post Meta y el Comentario Meta Tablas

Ahora, volvamos a hablar sobre las tablas de base de datos que son más aplicables al desarrollo de aplicaciones e incluso a la administración de contenido..

En el último artículo, demostré las funciones de la API responsables de escribir información en las tablas de metadatos. Específicamente, esbozo las siguientes funciones:

  • add_post_meta
  • update_post_meta
  • add_comment_meta
  • update_comment_meta

De manera similar con el resto de la API de Opciones, recuperar la información de cada una de estas tablas es realmente fácil, excepto que viene con un solo 'gotcha'; de forma predeterminada, toda la información que se devuelve de estas funciones se realiza en forma de formación.

Esto significa que si vas a llamar:

 $ my_data = get_post_meta (get_the_ID (), 'my-post-information');

Entonces los datos serán devueltos a usted en una matriz; sin embargo, si vas a pasar CIERTO A la función cuando la llame, los datos le serán devueltos en una cadena:

 $ my_data = get_post_meta (get_the_ID (), 'my-post-information', TRUE);

Claro que no hay Correcto manera de hacer esto. En su lugar, depende de la información que desea que se devuelva y / o cómo desea que se devuelva. Debido a que no hay una sola manera de hacer esto, debe juzgar su uso en función de la implementación de su aplicación..

Escapar de datos

Ahora, al igual que necesitábamos sanear la información antes de escribirla en la base de datos, también es importante que evitemos la información correctamente después de recuperarla de la base de datos, pero antes de mostrarla en el navegador..

El escape de datos es el proceso mediante el cual nos aseguramos de que los datos que vamos a presentar al usuario sean seguros. Es básicamente el saneamiento hecho a los datos; sin embargo, esta hecho después los datos se han recuperado de la base de datos en lugar de hacerlo antes de escribirlos en la base de datos.

Cuando se trata de aceptar datos, hay cuatro funciones principales que debemos tener en cuenta:

  1. esc_html se utiliza para escapar de bloques HTML.
  2. esc_url es cuando necesita limpiar las URL que se escribirán en elementos de texto, nodos de atributos o en cualquier otro lugar en el marcado.
  3. esc_js se usa para escapar de las cadenas de texto que se usan para hacer eco principalmente de JavaScript, JavaScript en línea.
  4. esc_attr codifica varios caracteres que pueden alterar la salida si no se manejan correctamente.

Lo bueno de esto es que generalmente funcionan exactamente de la misma manera, y la forma de determinar cuál necesita usar es relativamente fácil:

  • Si está representando JavaScript en línea, entonces use esc_js,
  • Si está renderizando un atributo para un elemento, entonces use esc_attr.

Bastante fácil, cierto?

Entonces, por ejemplo, digamos que quería escapar de un atributo de un campo de entrada que proviene de la $ _POST colección. Para hacer esto, escribirías el siguiente código:

 '; ?>

Estas pequeñas cosas como esta pueden ayudar en gran medida a garantizar que su aplicación sea robusta tanto en la serialización de datos como en la recuperación de datos..


Y ahora, a la URL de reescritura

Hemos cubierto mucho terreno en esta serie, pero hay más por recorrer.

Caso en cuestión: una de las características más agradables de algunos de los marcos de aplicaciones web más populares es cómo manejan las URL. En resumen, proporcionan esquemas de URL limpios que facilitan la comprensión de las diversas acciones disponibles para los modelos de datos utilizados en toda la aplicación..

Fuera de la caja, WordPress no ofrece las URL más limpias o claras; sin embargo, este puede ser modificado mediante el uso de la API Rewrite. En el siguiente artículo, analizaremos exactamente cómo podemos introducir reglas personalizadas para URL limpias que se parezcan a algo que verías en una aplicación web en lugar de hacerlo en un sistema de administración de contenido o un blog..