Foros del Web » Programando para Internet » PHP » Zend »

Conexion a Otra Base de Datos desde el controller

Estas en el tema de Conexion a Otra Base de Datos desde el controller en el foro de Zend en Foros del Web. Hola Buen día. Tengo una aplicación en Zend Framework 1.0.3 con una base de datos por defecto. En el .INI coloque los elementos de la ...
  #1 (permalink)  
Antiguo 18/10/2010, 08:38
 
Fecha de Ingreso: octubre-2010
Ubicación: Los Teques
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Exclamación Conexion a Otra Base de Datos desde el controller

Hola Buen día.

Tengo una aplicación en Zend Framework 1.0.3 con una base de datos por defecto. En el .INI coloque los elementos de la conexion, un archivo conexion.PHP donde coloco lo siguiente:

Código PHP:
<?php
    error_reporting
(E_ALL|E_STRICT);
    
date_default_timezone_set('America/Caracas');
    
    
set_include_path('.'PATH_SEPARATOR .'./library'
        
PATH_SEPARATOR './application/models'
        
PATH_SEPARATOR get_include_path());
    include 
"Zend/Loader.php"
     
    

    
Zend_Loader::loadClass('Zend_Controller_Front');
    
Zend_Loader::loadClass('Zend_Config_Ini');
    
Zend_Loader::loadClass('Zend_Registry');
    
Zend_Loader::loadClass('Zend_Db');
    
Zend_Loader::loadClass('Zend_Db_Table');
    
Zend_Loader::loadClass('Zend_Auth');
    
Zend_Loader::loadClass('Zend_Session');
    
Zend_Loader::loadClass('Zend_Controller_Plugin_ErrorHandler');
    
Zend_Loader::loadClass('Zend_Log');
    
Zend_Loader::loadClass('Zend_Log_Writer_Stream');
    
Zend_Loader::loadClass('Zend_Session_Namespace');
    

    
$config = new Zend_Config_Ini('./application/config.ini','conexion');
    
$registry Zend_Registry::getInstance();
    
$registry->set('conexion',$config);
    
    
//Configuracion del Acceso a DB
    
$db Zend_db::factory($config->db->adapter,$conexion->db->conexion->toArray());
    
Zend_Db_Table::setDefaultAdapter($db);
        
Zend_Registry::set('basedatos',$db);    
    

    
$frontController Zend_Controller_Front::getInstance();
    
//$frontController->throwExceptions(true);
    //$frontController->setControllerDirectory('./application/controllers');
    
$frontController->addModuleDirectory('./application/modules/');
    
$frontController->registerPlugin(new Zend_Controller_Plugin_ErrorHandler());

    
$frontController->dispatch();


Y luego en cada controller verifico si la sesion existe con este codigo:

Código PHP:
if ((!$auth->hasIdentity())||(!Zend_Session::sessionExists())){
              
//inicio del if
            
$url $this->view->baseUrl.'/autentico/autentico/findesesion';
            echo 
"<script language>alert('Se ha terminado el tiempo de su sesión, por favor ingrese de nuevo...!');window.top.location='".$url."';</script>";
        }
//fin del if 
Ok hasta aui fino, todas mis funcionalidades trabajan perfecto.

Pero mi duda es la siguiente, en el .INI yo incorpore otro elemento para la conexion a otra base de datos. No quiero incorporar en el conexion.PHP el llamado a esa nueva Base de Datos ya que esta solo debe abrir cuando el usuario este en un controller especifico.

Yo realice otro archivo llamado conexion2.PHP pero como lo llamo desde el controller para que realice la conexion? y como hago para no utilizar

Código PHP:
 $registry Zend_Registry::getInstance();
    
$registry->set('conexion',$config); 
y

Código PHP:
Zend_Db_Table::setDefaultAdapter($db);
        
Zend_Registry::set('basedatos',$db); 
ya que en lo que se la aplicacion tomara los de la base de datos por defecto

Etiquetas: conexion, controller, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:50.