function __wakeup() { foreach ($this->_propiedades_toba as $tipo => $props) { foreach ($props as $prop) { if ($tipo == 'componente') { $valor = $this->{$prop}; $id = array('componente' => $valor[1], 'proyecto' => $valor[0]); $this->{$prop} = toba_constructor::buscar_runtime($id); } } } }
function __wakeup() { $id = array('componente' => $this->id_ci[1], 'proyecto' => $this->id_ci[0]); $this->ci = toba_constructor::buscar_runtime($id); }
/** * Se configuran los componentes y se atiende el servicio en forma recursiva */ protected function procesar_servicios() { toba::logger()->seccion("Configurando dependencias para responder al servicio...", 'toba'); //Se fuerza a que los Cis carguen sus dependencias (por si alguna no se cargo para atender ls eventos) y se configuren foreach ($this->cis as $ci) { $this->objetos[$ci]->pre_configurar(); //--- Lugar para poner algun callback a nivel operacion? $this->objetos[$ci]->post_configurar(); } //--- Si existe la zona se brinda la posibilidad de configurarla if ($this->hay_zona() && toba::zona()->cargada()) { toba::zona()->conf(); } //--- Se determina el destino del servicio $objetos_destino = toba::memoria()->get_id_objetos_destino(); if (!isset($objetos_destino)) { //En caso que el servicio no especifique destino, se asume que son todos los cis asociados al item $destino = array(); foreach ($this->cis as $ci) { $destino[] = $this->objetos[$ci]; } } else { //Se especifico un destino, se buscan los objetos referenciados $destino = array(); foreach ($objetos_destino as $obj) { $destino[] = toba_constructor::buscar_runtime(array('proyecto' => $obj[0], 'componente' => $obj[1])); } } $servicio = toba::memoria()->get_servicio_solicitado(); $callback = "servicio__{$servicio}"; toba::logger()->seccion("Respondiendo al {$callback}...", 'toba'); if (method_exists($this, $callback)) { $this->{$callback}($destino); } elseif (count($destino) == 1 && method_exists(current($destino), $callback)) { //-- Se pide un servicio desconocido para la solicitud, pero conocido para el objeto destino $obj = current($destino); $obj->{$callback}(); } else { throw new toba_error_seguridad("El servicio {$servicio} no está soportado"); } }