Ver Mensaje Individual
  #18 (permalink)  
Antiguo 12/02/2004, 14:53
Avatar de vitxo
vitxo
 
Fecha de Ingreso: septiembre-2003
Ubicación: Valencia
Mensajes: 219
Antigüedad: 20 años, 7 meses
Puntos: 0
Más sobre factorías:
Dije antes que cada factoría almacena los objetos que fabrica en un array que tiene como atributo de clase.
En concreto me estoy pegando ahora con el ActionManager, el encargado de fabricar acciones.
Tal y como lo tengo ahora, en el constructor creo una instancia de cada acción que tenga implementada (ahora mismo sólo un HelloWorldAction), le añado los parámetos que necesitan a través del addProperty (las acciones necesitan su propio nombre y parámetros adicionales que necesites, y las vistas la plantilla además de su propio nombre) y la añado al array las mantiene.

Esta tarea la voy a tener que repetir para cada acción y vista nueva que implemente. No habría alguna manera de hacerlo automático? Se me ocurren varias formas:
A :
1. listar los archivos que haya en el directorio que contiene el código fuente de las acciones
2. utilizar el nombre para instanciar el objeto
de la forma:
Código PHP:
  $filename 'HelloWorldAction.class.php';  
  
$classname //coger de la variable filename sólo 'HelloWorldAction'.
  
$action =& new $classname.'()';
  
$action -> addProperty'name''helloworld');
  
$this->actions$action->getName() ] =& $action
B:
1. usar archivos de configuración con nombres de acciones, nombres de las clases, propiedades de cada acción (texto plano, XML o lo que convenga), pero tampoco es plan de interpretar/leer la configuración de los archivos a cada petición. Para evitar eso se podría guardar una copia "traducida" a PHP de la configuración, y como mucho comparar los checksums de los archivos de config. para ver cuándo cambian y actualizar la configuración. (eso es lo que hago en PHPMarker, así es como almaceno una copia en caché de la plantilla actual)-
Pero joer, se torna PELUDO el asunto ehh?

2. usar archivos de configuración en PHP. --> no me termina de convencer, pero a lo mejor es la única opción viable.

nos leemos.

Última edición por vitxo; 12/02/2004 a las 14:55