Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2010, 13:23
Desdoyer
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 0
Programación de "plugins" con PHP

Buenas! Hace tiempo que vengo resolviendo toda clase de dudas a través de este foro y al final me he animado a postear una que he dejado por imposible.

Estaba haciendo una pequeña aplicación web en la que obtengo una lista de datos de la base de datos y para cada dato quiero realizar una acción. Esta acción, obtener unas estadísticas, es distinta para algunos datos. Por ejemplo, si tengo 100 datos y 3 acciones, puede que 50 datos funcionen con la acción 1, 30 datos con la acción 2, 10 datos con la acción 3 y los otros 10 datos con acciones todavía no implementadas.

Esas acciones, que son más de 3, había pensado en hacerlas estilo plugins. Tenía intención de crear una clase abstracta "Plugin" con un método abstracto que seríá implementado en cada plugin y otro método que es para todos los datos igual que lo escribiría en la clase abstracta directamente.

Ahora crearía una nueva clase en la que guardaría una lista con todos los plugins declarados en la carpeta "plugins".
A la clase con la lista de plugins la llamaría "ListaPlugins" por ejemplo.

En la carpeta "plugins" tendría los archivos con las acciones a realizar, y cada uno de ellos extendería a la clase "Plugin" para sobreescribir el método necesario.

Y bueno, aquí llegaría el problema. Cómo se podría hacer para que en tiempo de ejecución se añadiesen todos los archivos de la carpeta "plugins" a la lista "ListaPlugins" para poder ser procesados?

La idea es que yo pueda ir añadiendo nuevos plugins a la carpeta sin tener que andar modificando la lista de plugins manualmente para añadir el que acabo de subir. Siendo muchísimo más cómodo para mi y no tendría de estar pendiente de si se me olvida añadir alguno a la lista.

Seguramente no sea demasiado complicado pero soy bastante nuevo en esto del PHP. Se agradecería cualquier idea o sugerencia :)

Muchas gracias!