Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/08/2008, 20:21
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Llamada a metodo de una clase desde un parametro.

Cita:
Iniciado por Angel_Cruijff Ver Mensaje
Código PHP:
        //Finalmente cuando haya procesado la info capturada, redirecciono 
a la pagina correspondienteAqui el atributo "redirigir" lo asigno en el metodo 
correspondiente 
(creo que no es bien visto acceder a los atributos del objeto 
fuera del mismo
no?)
    
$utilidades->redirigir($controlador->redirigir);

Si, el resto lo entendí, es entendible lo que quieres hacer y cómo, pero hay que tener en claro que solo es para casos muy especiales, como lo que estás intentando hacer (¿escucharon niños? ¡no intenten hacer esto en su casa sin supervisión de un adulto!).

Pero cuando dices "no es bien visto" tengo que tirarte de las orejas... los atributos públicos están prohibidos (desde la base de la POO), y en caso de necesitar su acceso podrás usar métodos get/set lo más restringido posible (o lograrás el mismo efecto de atributos públicos).

Lo que no entiendo es qué retornaría el controlador, intento asumir que sería el destino, pero no sé bien cómo lo quieres definir.

Veo más algo del tipo:

Código PHP:
  $utilidades->redirigir$controlador->getPagina() ); 
O usar algo más de polimorfismo (dentro le pide "el destino" al controlador):

Código PHP:
    $utilidades->redirigir$controlador); 
Y tal vez reforzando el diseño con una interfaz para que todo controlador tenga siempre un método getPagina().

Código PHP:
interface Controlador
{
   public function 
getPagina();

y en "redirigir" de "utilidades":

Código PHP:
public function redirigir(Controlador $controlador)
{
   
$controlador->goPagina();

No sé, estoy tirando ideas, tal vez no necesites pasar por algo "utilidades", el controlador debería internamente saber qué hacer (o pedirle internamente a quién sabe hacerlo).

Pero como bien dice mi colega, prueba Zend Framework
__________________
Blog phpsenior.com Cursos a Distancia surforce.com