Estoy buscando comenzar a construir mis módulos como clases ahora que la carga lenta / automática está en Drupal 7, y me encantaría ver algunos módulos (contrib o core) que están haciendo un gran trabajo.
¿Hay una manera creativa de integrar una clase como ganchos? ¿Implemento cada característica como un complemento de ctools?
Cualquier transeúnte debe tener en cuenta que D7 tiene nuevas files[]
declaraciones en los .info
archivos del módulo para clases / interfaces de carga automática / diferida: escritura de archivos .info (Drupal 7.x) .
La siguiente es una buena lectura para obtener las motivaciones y la constitución (por así decirlo) de la comunidad de Drupal. Programación de Drupal desde una perspectiva orientada a objetos .
Esta es una pregunta interesante.
La idea de un módulo Drupal como clase es muy interesante. Sin embargo, incluso en los módulos D7, simplemente implemente las funciones de enlace que se verifican por nombre, por lo que incluso si crea una clase para su módulo, deberá implementar funciones de enlace para invocarlas.
Sin embargo, muchos módulos usan clases internamente y exponen la funcionalidad a través de estas clases. El ejemplo más obvio son las vistas. Así que ese puede ser un buen lugar para buscar. Sin embargo, tenga en cuenta que muchos módulos usan clases a su manera, por lo que lo que aprende al mirar las vistas puede no ser siempre aplicable.
fuente
La API de entidad (el módulo contrib) le permite declarar una "clase de entidad" para cada uno de sus tipos de entidad, por lo que todo el código relacionado con su entidad (crear, cargar, guardar, acceder, etc.) puede ir en una clase (vea cómo Organic Grupos lo hace, por ejemplo).
Dicho eso, no te excedas. Los complementos de ctools son buenos cuando los necesita (está escribiendo las próximas Vistas, Paneles o Reglas), pero usar clases en todas partes solo por pureza ideológica no le servirá de mucho.
fuente