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

Organización de las pantallas de configuración de WordPress

15

A medida que muchos de nosotros sigamos avanzando con PHP7+, podemos seguir aprovechando muchas características nuevas que ofrece el lenguaje.

Organización de las pantallas de configuración de WordPress

Mientras tanto, sin embargo, todavía hay características de PHP y software relacionado que podemos usar para ayudar a agilizar nuestro desarrollo. El menor de los cuales (y sobre el que he escrito y hablado un poco) son los espacios de nombres.

Organización de las pantallas de configuración de WordPress

Sin embargo, aquí está la cosa: me gusta tener los archivos y directorios de mi complemento estructurados para que estén organizados para reflejar las convenciones de espacio de nombres que siguen. Y esto se puede hacer para taxonomías, metaboxes, objetos de dominio, funcionalidad relacionada con la base de datos, etc.

En esta publicación, sin embargo, quiero hablar sobre una forma de organizar las pantallas de configuración de WordPress desde las estructuras organizativas lógicas, es decir, la ubicación del sistema de archivos, y virtuales, es decir, los espacios de nombres.

Organización de las pantallas de configuración de WordPress

El primer punto que quiero señalar es este: aunque estoy hablando de organizar las pantallas de configuración de WordPress, no estoy hablando de la API. En cambio, suponga que para esta publicación estoy hablando de lo siguiente:

  • un menú personalizado que tiene una página de menú asociada,
  • una página de menú que presenta los requisitos para una página de configuración (como el campo nonce, etc.)
  • un parcial que contiene la configuración real (o múltiples parciales si desea incluir múltiples configuraciones).

No voy a hablar sobre el proceso de sanitización, serialización, recuperación, validación y visualización. Esto es puramente organizativo.

Pensando a través del proceso

Dado que vamos a organizar nuestros archivos a través de directorios que también se asignan 1:1 con espacios de nombres, pensemos exactamente qué es lo que necesitaremos. La forma en que lo acerco es esta:

  1. Estamos creando algo específicamente para la aplicación contextual de WordPress. Esto indica un espacio de nombres.
  2. Vamos a crear un menú de administración, lo que significa que ambos estamos trabajando en el área de administración de WordPress, por lo tanto, otro espacio de nombres, y con menús, que son otro espacio de nombres.
  3. A continuación, necesitamos archivos para mostrar la pantalla estándar de WordPress, por lo que necesitaremos un espacio de nombres Vistas,
  4. Y luego necesitaremos un código específico del dominio para colocarlo en la vista, por lo que finalmente necesitaremos un directorio de parciales (y, por lo tanto, un espacio de nombres).

Entonces, la organización lógica final de los datos se vería así:

Organización de las pantallas de configuración de WordPress

Quizás lo más importante a tener en cuenta sobre esta organización particular de archivos es que la clase AdminMenu es una clase base de la que pueden heredar todas las clases específicas (o más concretas).

Esto significa que la clase AcmeAdminMenu hereda ciertas propiedades y funciones de ella y luego implementa su lógica o agrega su lógica también.

Espacio de nombres de cada archivo

Cuando organiza sus archivos de esta manera, los espacios de nombres se vuelven casi evidentes, ¿no es así? Aquí está el espacio de nombres para cada uno de los archivos:

  • WordPressAdminMenuAdminMenu
  • WordPressAdminMenuAcmeAdminMenu
  • WordPressAdminMenuViewsConfiguración
  • WordPressAdministradorMenúVistasConfiguraciónParciales

Tenga en cuenta que, dado que acme-settings.php es técnicamente solo un marcado para las opciones de representación, no necesariamente tiene que tener un espacio de nombres porque está incluido en la Vista que lo representa.

De todos modos, si eres un fanático de mantener las cosas lo más organizadas posible, tiene sentido anidar un parcial dentro de un directorio llamado así.

¿Qué pasa con el código?

Si está interesado en ver el código para algo como esto, estoy considerando armar un pequeño complemento que demuestre cómo encaja todo esto. Después de todo, esto es un poco de alto nivel, ¿no? Quiero decir que no hay implementación.

Por otra parte, si esto lo ayuda a orientarlo en la dirección correcta para un proyecto actual o futuro, entonces puede ser suficiente.

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