Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je n'arrives pas a afficher via firebug et firephp mes requetes SQL
Voici mon application.ini
;initilisation du report d'erreurs pour le mode production phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 ;definition de la timezone phpsettings.date.timezone = "Europe/Paris" ;Include path includePaths.library = APPLICATION_PATH "/../library" ;Bootstrap bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" ;initialisation des modules resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" ;chargement du plugin Zend_Application_Resource_Modules en ne lui fournissant aucune option ici resources.modules[] = "" ;Layout resources.layout.layout = "layout" resources.layout.layoutPath = APPLICATION_PATH "/modules/default/layouts/scripts" appnamespace = "Application" autoloadernamespaces[] = "My_" ;Views resources.view.encoding = "UTF-8" ;connexion à une base de données resources.db.adapter = "PDO_MYSQL" resources.db.params.charset = "UTF8" resources.db.params.host = "localhost" resources.db.params.username = "root" resources.db.params.password = "" resources.db.params.dbname = "mabasedetest" resources.db.params.date_format = "YYYY-MM-ddTHH:mm:ss" resources.db.isDefaultTableAdapter = true session.use_cookies = on session.use_only_cookies = on session.use_trans_sid = off session.strict = off session.remember_me_seconds = 60 session.name = masession session.gc_divisor = 10 session.gc_maxlifetime = 60 session.gc_probability = 1 session.save_path = APPLICATION_PATH "/data/session/" log.file = APPLICATION_PATH "/data/log/log.log" [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] ;initilisation du report d'erreurs pour le mode developpement phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 ;base de données test ;le contrôleur frontal renvoie toute exception capturée resources.frontController.throwexceptions = 1
et mon bootstrap :
<?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { public function run() { // Cela permet d'avoir la configuration disponible de partout dans notre application Zend_Registry::set('config', new Zend_Config($this->getOptions())); parent::run(); } protected function _initDbProfiler() { $this->bootstrap('db'); $profiler = new Zend_Db_Profiler_Firebug('All DB Queries'); $profiler->setEnabled(true); } protected function _initResponse() { //Cela permet de tout mettre en utf-8 $response = new Zend_Controller_Response_Http(); $response->setRawHeader('Content-type: text/html; charset=utf-8'); Zend_Controller_Front::getInstance()->setResponse($response); } protected function _initPlugins() { $front = Zend_Controller_Front::getInstance(); $front->registerPlugin(new My_Controller_Plugin_Acl()); } //initilisation de l'autoloader pour une structure sans module protected function _initAutoload() { $moduleLoader = new Zend_Application_Module_Autoloader ( array ('namespace' => '', 'basePath' => APPLICATION_PATH ) ); return $moduleLoader; } protected function _initView() { // Initialisation de la vue $view = new Zend_View; $view->doctype('XHTML1_STRICT'); //$view->headTitle('Mon application avec Zend_Application'); $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=utf-8'); $view->headLink()->appendStylesheet('/style/frontend/styles/bootstrap.css'); $view->headLink()->appendStylesheet('/style/frontend/styles/style.css'); // Ajoutons le au ViewRenderer $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); $viewRenderer->setView($view); $front = Zend_Controller_Front::getInstance(); $front->registerPlugin(new My_ModuleLayoutHandler()); $view->addHelperPath('App/View/Helper/', 'App_View_Helper'); /* Retournons le, il sera stocké dans un registre par le bootstrap pour utilisation future */ return $view; } /** * Gestion de log */ protected function _initLog() { $options = $this->getOptions (); $fichier = $options ['log'] ['file']; $log = new Zend_Log ( $writer = new Zend_Log_Writer_Stream ( $fichier ) ); //Ajout des paramètres à enregister $log->setEventItem ( 'user_agent', $_SERVER ['HTTP_USER_AGENT'] ); $log->setEventItem ( 'client_ip', $_SERVER ['REMOTE_ADDR'] ); $defaultFormat = Zend_Log_Formatter_Simple::DEFAULT_FORMAT; $format = '%client_ip%%user_agent%' . $defaultFormat; //Ajout dans le journal de log $writer->setFormatter ( new Zend_Log_Formatter_Simple ( $format ) ); // n'oublions pas de le retourner return $log; } /* protected function _initSession() { $configSession = $this->getOptions(); // Configuration de la session (impérativement avant son démarrage) Zend_Session::setOptions($configSession['session']); // Partage (et création ou restauration) de l'objet de session dans le registre // Ce premier appel à new Zend_Session_Namespace démarre la session PHP Zend_Registry::set('session', $session = new Zend_Session_Namespace($configSession['session']['name'])); // On initialise la session $session = new Zend_Session_Namespace($configSession['session']['name'], true); return $session; }*/ }
Est ce qu'il me manque quelque chose ?
J'aimerai simplement que s'affiche la requete lorsque je suis sur cette méthode :
private function getUsersAll() { $dbUser = new Default_Model_DbTable_Users(); return $dbUser->fetchAll()->toArray(); }
Hors ligne
bonjour,
tout d'abord est ce que tu arrive a faire des requête sur la base de donnée?
c-a-d est ce qu'il y a une connexion entre l'application net la base de donnée.
Hors ligne
Hello à tous,
j'ai le même souci :
- impossible d'afficher les requêtes provenant de ceci : (class XXXX_Model_DbTable_Actions extends Zend_Db_Table_Abstract)
$select = $table->select(); $select ->setIntegrityCheck(false) ->from($table,array(blablabla)) ->join(blablabla) ->join(blablabla) ->order(blablabla);
J'ai mis "blabla" pour ne pas alourdir la lecture...
Cette requête ne pose aucun souci et s’exécute parfaitement... mais rien dans firebug...
Par contre, si je mets au même endroit dans ce fichier ceci
$db = Zend_Registry::get('db'); $db->query('SELECT * FROM machin');
et bien là, pas de souci, tout s'affiche dans Firebug. D'ailleurs dans mon appli, toutes les requêtes faites sous la forme de statement sont bien transmises à Firebug... mais pas les requêtes faites depuis un Zend_Db_Table_Abstract (fetchAll, select...).
Ce qui est normal me semble t il, puisque on définit le profiler pour $db ($db = Zend_Db::factory(blabla)) et apparemment pas pour les les extensions de classe de Zend_Db_Table_Abstract...
est ce que je me trompe ?
Si c'est effectivement cela le souci, comment faire pour mettre un profiler Firebug aussi sur toutes les requêtes exécutée via les classes étendues de Zend_Db_Table_Abstract
Merci pour vos éclaircissements...
JC
Hors ligne
En même temps, ceci fonctionne très bien aussi...
Zend_Debug::dump($select->__toString());
Mais bon, ça demande d'ajouter du code à chaque fois... le fait de tout avoir dans Firebug c'est tout de même plus schtouple !
JC
Hors ligne