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

Zend_Db_Profiler_Firebug

Estas en el tema de Zend_Db_Profiler_Firebug en el foro de Zend en Foros del Web. Hola, quisiera saber si alquien me pudiera dar una mano porque no logro hacer funcionar el "Zend_Db_Profiler_Firebug". En el "Bootstrap.php" tengo: Código PHP: $view -> ...
  #1 (permalink)  
Antiguo 10/10/2011, 21:45
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Zend_Db_Profiler_Firebug

Hola, quisiera saber si alquien me pudiera dar una mano porque no logro hacer funcionar el "Zend_Db_Profiler_Firebug".
En el "Bootstrap.php" tengo:
Código PHP:
$view->profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
$view->profiler->setEnabled(true); 
Luego en el controlador tengo lo siguiente:
Código PHP:
$multidb $this->getInvokeArg('bootstrap')->getPluginResource('multidb');
// Don't forget to initialize the resource first
$multidb->init();
$this->db $multidb->getDb('db');
$this->db->setFetchMode(Zend_Db::FETCH_OBJ);
$this->db->setProfiler($this->view->profiler); 
Y no muestra nada... donde esta el error?
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #2 (permalink)  
Antiguo 11/10/2011, 02:47
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Zend_Db_Profiler_Firebug

Pregunta tonta, tienes firebug y firephp instalados y habilitados ?, y el profiler lo puedes configurar directamente en el application.ini

Código INI:
Ver original
  1. resources.multidb.default.adapter = "pdo_mysql"
  2. ...
  3. resources.multidb.default.profiler.enabled = true
  4. resources.multidb.default.profiler.class = "Zend_Db_Profiler_Firebug"
  5. ....
  6. resources.multidb.other.adapter = "pdo_mysql"

Saludos,
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 11/10/2011, 08:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Zend_Db_Profiler_Firebug

Cita:
Iniciado por masterpuppet Ver Mensaje
Pregunta tonta, tienes firebug y firephp instalados y habilitados ?, y el profiler lo puedes configurar directamente en el application.ini

Código INI:
Ver original
  1. resources.multidb.default.adapter = "pdo_mysql"
  2. ...
  3. resources.multidb.default.profiler.enabled = true
  4. resources.multidb.default.profiler.class = "Zend_Db_Profiler_Firebug"
  5. ....
  6. resources.multidb.other.adapter = "pdo_mysql"

Saludos,
Si tengo instalado ambos "fire", de echo estoy usando el logger de firephp y anda de maravilla pero esto no.
Tiene algo que ver si no lo pongo en el ini, en lugar del bootstrap?
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #4 (permalink)  
Antiguo 12/10/2011, 12:38
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 69
Respuesta: Zend_Db_Profiler_Firebug

FirePHP no muestra la información de un dominio, hasta que le das permiso a ese dominio. Hiciste eso? Si estás probando tu sitio en "localhost", es lo que deberías poner.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 12/10/2011, 15:12
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Zend_Db_Profiler_Firebug

Es extraño CyberMauher, debería funcionar, si despues de setProfiler haces algo asi:

Código PHP:
Ver original
  1. $this->db->query('SELECT * FROM table');

no te aparece el log ? y porque asignas el profiler a la vista ?, puedes guardarlo en el container del bootstrap,

Código PHP:
Ver original
  1. protected function _initFirebug()
  2. {
  3.     $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
  4.     $profiler->setEnabled(true);
  5.     return $profiler;
  6. }

y despues en cualquier Controller,

Código PHP:
Ver original
  1. $profiler = $this->getInvokeArg('bootstrap')->firebug;

aunque me parece mas cómodo el config.
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 13/10/2011, 22:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Zend_Db_Profiler_Firebug

Cita:
Iniciado por masterpuppet Ver Mensaje
Es extraño CyberMauher, debería funcionar, si despues de setProfiler haces algo asi:

Código PHP:
Ver original
  1. $this->db->query('SELECT * FROM table');

no te aparece el log ? y porque asignas el profiler a la vista ?, puedes guardarlo en el container del bootstrap,

Código PHP:
Ver original
  1. protected function _initFirebug()
  2. {
  3.     $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
  4.     $profiler->setEnabled(true);
  5.     return $profiler;
  6. }

y despues en cualquier Controller,

Código PHP:
Ver original
  1. $profiler = $this->getInvokeArg('bootstrap')->firebug;

aunque me parece mas cómodo el config.
Alabado seas masterpuppet!!!
Bueno te cuento que lo que me pusiste acá andubo de 10, una vez que lo hice andar lo cargué en el config, porque como vos dijiste es más cómodo.

Por otro lado acabo de entender que una de las cosas que hace el bootstrap es crear un gran contenedor donde le seteas propiedades con "_initPropiedad()" para luego recuperarlas en el momento que las necesitemos.
Como yo no sabía esto, cargaba esas "propiedades" en la vista para luego utilizarlas cuando las necesiba. Jeje, osea, hacia cualquiera!

Ahora después de esto quisiera saber como hago para setear en el bootstrap lo siguiente, teniendo en cuenta que yo configuré el "profiler" en el config:
Código PHP:
$profiler->setEnabled(false); 
Osea no se como obtener una propiedad del config y luego setearla.
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #7 (permalink)  
Antiguo 14/10/2011, 02:56
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Zend_Db_Profiler_Firebug

Sobre el "container" del bootstrap puedes leer en el manual, te dejo la referencia http://framework.zend.com/manual/en/...strap.registry, ten en cuenta que se guarda en el "container" lo que retornes en los "_init*".

Con respecto a la pregunta, al declarar el profiler en el application.ini este se pasa por parámetro al adapter cuando se instancia el mismo, asi que la forma de acceder es tan sencilla como Zend_Db_Adapter_Abstract::getProfiler, tomando como ejemplo tu primer post, seria algo asi:

Código PHP:
Ver original
  1. $this->db = $multidb->getDb('db');
  2. $this->db->setFetchMode(Zend_Db::FETCH_OBJ);
  3. $this->db->getProfiler()->setEnabled(false);

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 16/10/2011, 19:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Zend_Db_Profiler_Firebug

Cita:
Iniciado por masterpuppet Ver Mensaje
Sobre el "container" del bootstrap puedes leer en el manual, te dejo la referencia http://framework.zend.com/manual/en/...strap.registry, ten en cuenta que se guarda en el "container" lo que retornes en los "_init*".

Con respecto a la pregunta, al declarar el profiler en el application.ini este se pasa por parámetro al adapter cuando se instancia el mismo, asi que la forma de acceder es tan sencilla como Zend_Db_Adapter_Abstract::getProfiler, tomando como ejemplo tu primer post, seria algo asi:

Código PHP:
Ver original
  1. $this->db = $multidb->getDb('db');
  2. $this->db->setFetchMode(Zend_Db::FETCH_OBJ);
  3. $this->db->getProfiler()->setEnabled(false);

Saludos.
Hola, hice lo siguiente en el Bootstrap:
Código PHP:
    protected function _initDbFirebug()
    {
        
$profiler Zend_Db_Adapter_Abstract::getProfiler();
        
$profiler->setEnabled(false);
    } 
pero el resultado es esto: "Fatal error: Call to a member function setEnabled() on a non-object".
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!
  #9 (permalink)  
Antiguo 17/10/2011, 03:51
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Zend_Db_Profiler_Firebug

mmm, Zend_Db_Adapter_Abstract tiene un método estático getProfiler ?, puedes hacer algo así:

Código PHP:
Ver original
  1. protected function _initDbFirebug()
  2. {
  3.     $this->bootstrap('multidb');
  4.     $this->getResource('multidb')->getDefaultDb()->getProfiler()
  5.                                                  ->setEnabled(false);      
  6. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: 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 07:42.