Desarrollo de módulos personalizados: antecedentes y requisitos previos
Puede crear módulos personalizados en el Portal del desarrollador para ampliar la funcionalidad. La información siguiente proporciona una guía de iniciación del desarrollador para el desarrollo de módulos personalizados.
Los módulos personalizados se escriben en PHP, que es un lenguaje de scripts del lado del servidor de código abierto que se utiliza para crear páginas web dinámicas. Para obtener información general sobre las herramientas Drupal para el desarrollo PHP, consulte Desarrollo de módulos personalizados: una introducción a las herramientas Drupal para el desarrollo PHP.
Las secciones siguientes proporcionan una visión general del desarrollo de módulos personalizados, con enlaces para obtener más información sobre los lenguajes y conceptos de desarrollo necesarios. La creación de módulos personalizados afecta al origen del sitio del Portal del desarrollador , por lo que se recomienda que obtenga la experiencia de Drupal y conocimientos de PHP antes de empezar a crear módulos.
- No tiene permiso para incluir ningún módulo IBM® API Connect dentro de los módulos personalizados que cree. Además, la edición directa de cualquier tema, módulo, módulo incluido o núcleo Drupal de API Connect en el sistema de archivos no está permitida o soportada, ya que las versiones editadas de estos archivos se sobrescriben cuando se instala un fixpack o iFix .
- Todo el desarrollo personalizado es su responsabilidad. Aunque el uso de módulos y temas personalizados está soportado, IBM API Connect no proporciona soporte en su desarrollo o modificación.
Programación orientada a objetos (OOP)
- Programación orientada a objetos (en Wikipedia)
- Programación orientada a objetos con PHP (en phpro.org)
- PHP orientado a objetos para principiantes (en tutsplus.com)
- Programación orientada a objetos en PHP (en tutorialspoint.com)
- Patrón de fábrica (en phptherightway.com) y Enlaces estáticos tardíos (en php.net)
- Patrón de diseño de software (en Wikipedia)
- Fundamentos de programación: Patrones de diseño (en lynda.com)
Espacios de nombres PHP
Debe estar familiarizado con el concepto de espacios de nombres en PHP. En la mayoría de los casos, el código Drupal es un espacio de nombres basado en el módulo al que pertenece el código.
block.module es:namespace Drupal\block;Al crear módulos Drupal , es importante tener en cuenta que PHP tiene un espacio de nombres global y que los nombres de función deben ser exclusivos. Se recomienda que prefije el nombre de cualquier método con el nombre de módulo.
Por ejemplo, si tiene un módulo denominado custom_module, un método create dentro de él se denomina custom_module_create().
- Estándares de espacio de nombresDrupal (en drupal.org)
- Cómo utilizar espacios de nombres PHP (en sitepoint.com)
- Espacios de nombres PHP (en php.net)
Inyección de dependencias
Es importante que tenga una comprensión basal de la inyección de dependencia. Drupal hace un gran uso de este concepto, por lo que necesitará esta comprensión para poder acceder y hacer uso de muchas de las API principales.
Para obtener más información sobre la inyección de dependencia, consulte Inyección de dependencia (en phptherightway.com), así como los artículos adicionales que están enlazados en esa página. Consulte también Servicios e inyección de dependencias en Drupal (en drupal.org).
Simfonía
Symfony es un conjunto de componentes reutilizables de PHP y un framework PHP para proyectos web. Drupal toma prestado de esta infraestructura para reducir la duplicación de código en varios proyectos PHP. Gran parte del código que Drupal utiliza para manejar el direccionamiento, las sesiones y el contenedor de servicios, entre otras cosas, se toma prestado de Symfony.
Para comprender cómo funciona Symfony, consulte la Documentación de Symfony en symfony.com.
Otros recursos útiles
- Drupal API Annotations : lista de los distintos tipos de anotación que Drupal utiliza para el descubrimiento de plugins y para proporcionar context/meta-datos adicionales para el código que se está ejecutando.
- Visión general de la API de plugin -Visión general sobre cómo se utilizan los plugins en Drupal.
- Hay herramientas disponibles para comprobar sus módulos personalizados, como drupal_check en GitHub, que comprueba Drupal código para desaprobaciones.