flujo entre controladores

edited diciembre 2007 in Dudas/Problemas
bueno he podido determinar un inconveniente en la ejecución de una aplicación que estoy desarrollando. lo que busco es sencillamente ejecutar un método de otro controlador, pudiendo usar las vistas del controlador actual.

para mostrar un ejemplo sencillo de lo que me ha estado ocurriendo prepare el siguiente codigo...espero me puedan colaborar


controlador1_controller.php

class Controlador1Controller extends ApplicationController {

function index(){
Flash::success("se ejecuta antes del controlador 2");
$this->route_to("controller: controlador2", "action: index");
Flash::success("Ejecucion despues del controlador 2");

}

}


controlador2_controller.php


class Controlador2Controller extends StandardForm {

public function index(){
Flash::success("ejecucion en el controlador 2");
return ;

}

}


con lo cual obtengo a la salida en el navegador

se ejecuta antes del controlador 2
Ejecucion despues del controlador 2
ejecucion en el controlador 2

Comentarios

  • edited 3:07
    Si deceas compartir un metodo en dos o mas controladores y si no estas usando StandarForm, la mejor manera es colocar tu metodo en el file application.php que se encuentra en tu carpeta controllers asi:
    <?php
    /**
    * Todas las controladores heredan de esta clase en un nivel superior
    * por lo tanto los metodos aqui definidos estan disponibles para
    * cualquier controlador.
    *
    * @category Kumbia
    * @package Controller
    **/
    class ControllerBase {

    public function init(){

    Kumbia::route_to("controller: indice");
    }
    public function METODO_EN_COMUN(){
    ......................
    .......................
    .......................
    }

    }

    ?>

    y PUEDES UTILIZARLO EN CUALQUIER CONTROLADOR.

    SALUDOS!!!
Sign In or Register to comment.